就是我 要在1-10里面随即 但是我要控制1-10随即无重复随即出来一次 然后在可以重复 但是第二次也是1-10无重复随即出来一次 
 
请问应该怎么实现啊! 最好是写通式  1-100000等等 谢谢

解决方案 »

  1.   

    建个随机排序的IComparer,把要选择的值放到一个数组里面,用那个随机Comparer排下序,一个一个取就行了.
      

  2.   

    public class RandomComparer : System.Collections.IComparer 
    {
        int Compare(object x, object y)
        {
            return ( random()>0.5?1:-1 ); // 随机条件,不需要和x,y相关. 
            // c#的随机函数我忘了,就用random代替了。我好像记得没有,没有就你自己写个吧,你能怎样随机就怎样随机
        }
    }int[] temp = new int[] {1,2,3,4,5,6,7,8,9,10};
    Array.Sort(temp, new RandomComparer());
    for(int i=0;i<temp.length;i++)
       dosomething(temp[i]);  // temp[i] 就是一个随机的值了// 遍历一遍了, 就再sort一次再用就行