📅  最后修改于: 2023-12-03 14:39:44.010000             🧑  作者: Mango
在 C# 中,Shuffle 字符串数组是一种常见的操作,即打乱字符串数组的顺序。本文将介绍如何使用 C# 实现 Shuffle 字符串数组。
以下是一个 Shuffle 字符串数组的示例:
string[] array = new string[] { "a", "b", "c", "d", "e", "f", "g" };
Random rand = new Random();
for (int i = array.Length - 1; i >= 1; i--)
{
int j = rand.Next(i + 1);
string temp = array[i];
array[i] = array[j];
array[j] = temp;
}
foreach (string s in array)
{
Console.WriteLine(s);
}
在上面的代码中,我们使用了一个随机数生成器 Random
来打乱字符串数组的顺序。我们将随机生成的数 j
作为交换的索引,从而打乱数组元素的顺序。最后使用 foreach
循环输出打乱后的数组。
以下是上述示例中的 C# 代码片段的解析:
string[] array = new string[] { "a", "b", "c", "d", "e", "f", "g" };
Random rand = new Random();
在上述代码中,我们首先初始化了一个字符串数组 array
,其中包含了需要进行洗牌的字符串。接着,我们使用随机数生成器 Random
来生成随机数。
for (int i = array.Length - 1; i >= 1; i--)
{
int j = rand.Next(i + 1);
string temp = array[i];
array[i] = array[j];
array[j] = temp;
}
在上述代码中,我们从数组的末尾开始遍历数组,从而确保每个元素都至少被交换一次。我们使用 rand.Next(i + 1)
生成一个小于等于当前索引 i
的随机索引 j
,并通过交换数组元素来打乱数组的顺序。
foreach (string s in array)
{
Console.WriteLine(s);
}
最后,我们使用 foreach
循环输出打乱后的字符串数组。