随机产生几个随机数,在某个范围内,且生成随机数不重复?

 1                 Random r = new Random();
 2                 List<int> result = new List<int>();
 3                 int a;
 4                 List<int> numlist = new List<int>();
 5                 for (int i = 1; i < int.Parse(txtJudgmentNumber.Text) + 1; i++)     //获得x个随机数。我这里是获取的填写的值,
 6                 {
 7                         a = r.Next(1, list[0].num);  //设置范围。我这里是取数据库的数据1~n
 8                    
 9                         if (result.Contains(a))
10                         {
11                             i = i - 1; //有重复值,重新再来一次,循环次数减一次
12                         }
13                         else
14                         {
15                             result.Add(a);  //无重复值,就添加在集合内
16                         }
17                     
18                 }
19                 numlist = result;