Skip to main content
 首页 » 编程设计

c#之使用C#从id集合中获取4个(或任意数量)随机唯一ID的最简单方法是什么

2024年01月18日30shangdawei

假设您有一个idCollection IList<long>,并且有一个获取4个唯一ID的方法,每次调用它都会给您随机提供4个唯一ID?

var idCollec = new[] {1,2,3,4,5,6,7,8,9,10,11,12}.ToList(); 
 
For example {2,6,11,12} 
            {3,4,7,8} 
            {5,8,10,12} 
            ... 
            .. 


最聪明的方法是什么?

谢谢

请您参考如下方法:

似乎最简单的方法是:

if(idCollection.Count <4) 
{ 
    throw new ArgumentException("Source array not long enough"); 
} 
List<long> FourUniqueIds = new List<long>(4); 
while(FourUniqueIds.Count <4) 
{ 
    long temp = idCollection[random.Next(idCollection.Count)]; 
    if(!FourUniqueIds.Contains(temp)) 
    { 
        FourUniqueIds.add(temp); 
    } 
}