string s = "Hello World!"; var sourceSequence = s.Select(x => new { x, y = Guid.NewGuid().ToString() }); var sourceSequenceList = sourceSequence.ToList(); var randomSquence = sourceSequenceList.OrderBy(x => x.y); IEnumerable<char> resultsequence = randomSquence.Select(x => x.x); char[] resultArray = resultsequence.ToArray(); string result = new string(resultArray); Console.WriteLine(result);
string s = Console.ReadLine(); int cAt = 0; char[] st = new char[s.Length]; foreach (char c in s) { st[cAt] = c; cAt++; } int pointer = s.Length; string result = ""; Random r = new Random(); cAt = 0; while (pointer > 0) { cAt = r.Next(pointer); result += st[cAt]; st[cAt] = st[pointer - 1]; pointer--; } Console.WriteLine(result);没看懂8楼的,我自己写了个。
其实不用这么麻烦的。 string s = "Hello World!"; var result = s.OrderBy(x => Guid.NewGuid()).ToArray(); // 按一个随机值排序后组合成数组 Console.WriteLine(result);
var sourceSequence = s.Select(x => new { x, y = Guid.NewGuid().ToString() });
var sourceSequenceList = sourceSequence.ToList();
var randomSquence = sourceSequenceList.OrderBy(x => x.y);
IEnumerable<char> resultsequence = randomSquence.Select(x => x.x);
char[] resultArray = resultsequence.ToArray();
string result = new string(resultArray);
Console.WriteLine(result);
int cAt = 0;
char[] st = new char[s.Length];
foreach (char c in s)
{
st[cAt] = c;
cAt++;
}
int pointer = s.Length;
string result = "";
Random r = new Random();
cAt = 0;
while (pointer > 0)
{
cAt = r.Next(pointer);
result += st[cAt];
st[cAt] = st[pointer - 1];
pointer--;
}
Console.WriteLine(result);没看懂8楼的,我自己写了个。
var result = s.OrderBy(x => Guid.NewGuid()).ToArray(); // 按一个随机值排序后组合成数组
Console.WriteLine(result);