c#中产生不重复的随机数

来源:百度知道 编辑:UC知道 时间:2024/06/27 17:10:58
我想做一个彩票双色球随机产生号码的系统,那怎样产生6个1-33之间不重复的随机数呢?

/// <summary>
/// 产生一组不重复的随机数
/// </summary>
public static int[] SuiJiSuZu(int MinValue, int MaxValue, int Length)
{
if (MaxValue - MinValue + 1 < Length)
{
return null;
}
Random R = new Random();
Int32 SuiJi = 0;
Int32 suijisuzu = new Int32[Length];
int min = MinValue - 1;
int max = MaxValue + 1;
for (int i = 0; i < Length; i++)
{
suijisuzu[i] = min;
}
for (int i = 0; i < Length; i++)
{
while (true)
{
SuiJi = R.Next(max);
if (Array.IndexOf(suijisuzu, SuiJi) == -1)
{
suijisuzu[i] = SuiJi;