private Random rd = new Random();
        private List<int> li = new List<int>();
        public void f()
        {
            for (int i = 0; i < 10; ++i)
            {
                while (true) 
                {
                    int temp = rd.Next();
                    if (!li.Contains(temp))
                    {
                        li.Add(temp);
                        break;
                    }
                }                
            }
        }

解决方案 »

  1.   

    for example:            ArrayList list = new ArrayList();
                Random rd = new Random();
                int count = 0;
                while (count < 10)
                {
                    int number = rd.Next();
                    if (!list.Contains(number))
                    {
                        list.Add(number);
                        count++;
                    }
                }
      

  2.   

    ArrayList al = new ArrayList();
                for (int i = 0; i < 10; i++)
                    al.Add(i);
                Random rd = new Random();
                while (al.Count > 0)
                {
                    int index = rd.Next(al.Count);
                    Console.Write(al[index].ToString() + " ");
                    al.RemoveAt(index);
                }