Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 这个代码不改变顺序是完全有效的吗? int [] nums = new int[30]; for (int i = 0; i < nums.Length; i++) { nums[i] = i + 1; } Random rnd = ne_C#_Arrays_Distinct - Fatal编程技术网

C# 这个代码不改变顺序是完全有效的吗? int [] nums = new int[30]; for (int i = 0; i < nums.Length; i++) { nums[i] = i + 1; } Random rnd = ne

C# 这个代码不改变顺序是完全有效的吗? int [] nums = new int[30]; for (int i = 0; i < nums.Length; i++) { nums[i] = i + 1; } Random rnd = ne,c#,arrays,distinct,C#,Arrays,Distinct,这个代码不改变顺序是完全有效的吗? int [] nums = new int[30]; for (int i = 0; i < nums.Length; i++) { nums[i] = i + 1; } Random rnd = new Random(); int[] card1 = new int[6]; for (int i = 0; i < card1.Length; i++) { card1[i] = nums[rnd.Next(0, 30)]; }

这个代码不改变顺序是完全有效的吗?
int [] nums  = new int[30];
for (int i = 0; i < nums.Length; i++)
{
    nums[i] = i + 1;
}

Random rnd = new Random();
int[] card1 = new int[6];
for (int i = 0; i < card1.Length; i++)
{
    card1[i] = nums[rnd.Next(0, 30)];
}
Random rnd = new Random();
var values = new List<int>(nums); // 1

int[] card1 = new int[6];
for (int i = 0; i < card1.Length; i++)
{
    var rand = rnd.Next(0, values.Count); // 2
    card1[i] = values[rand]; // 3
    values.RemoveAt(rand); // 4
}
var sourceArray = // your loop, or something like Enumerable.Range(1, 30).ToArray();
var arrayToPickFrom = Shuffle(sourceArray.ToArray()); // make a copy and shuffle it
var randomCards = arrayToPickFrom.Take(6); // take the first six elements 
var theOtherArray = Nums.Take(6).ToArray(); 
int[] card1 = nums.OrderBy(it => Guid.NewGuid()).Take(6).ToArray();