使用c#从数组中随机选取4个元素

Ram*_*Ram 1 c# c#-2.0

我试图在C#中使用随机函数从一个addetailsID有六个以上元素的数组中随机选择四个.

我将这些随机选择放入另一个数组中strAdDetailsID:

 string[] strAdDetailsID = new string[4];
 for (int i = 0; i < 4; i++)
 {
     Random random = new Random();
     int index = random.Next(0, addetailsID.Length);
     value = addetailsID[index].ToString();
     strAdDetailsID[i] = value;
 }
Run Code Online (Sandbox Code Playgroud)

有时候,我从六个元素中得到两个相同的值.如何获取所有四个唯一值?

Fru*_*ner 6

你可能最好改组阵列,然后选择前4个元素.


Bry*_*sby 5

您可以使用此方法使用LINQ执行此操作.

List<string> list = new List<string>() { "There", "Are", "Many", "Elements", "To", "Arrays" };

foreach (var item in list.OrderBy(f => Guid.NewGuid()).Distinct().Take(4))
{
    Console.WriteLine(item);
}
Run Code Online (Sandbox Code Playgroud)