C#方法和表随机数

时间:2011-12-16 09:15:35

标签: c#

我的方法是将数字1到9按随机顺序排列。每个号码只出现一次。该方法应该返回一个整数表。

这是我的代码,面对墙,我用这段代码用尽了想法。 我知道这段代码是100%错误的。

    class Program
    {
        static void Main(string[] args)
        {
            int luvut = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            Console.WriteLine(luvut);
            Console.ReadKey();
        }

        private static int Kuuluuko(int luvut)
        {
            for (int i = 0; i < luvut.Length; i++)
            {

                return;

            }
        }
    }
}

3 个答案:

答案 0 :(得分:1)

var randomNumbers = Enumerable.Range(1,9).OrderBy(n => Guid.NewGuid()).ToList();

答案 1 :(得分:0)

这样的事情怎么样?制作一个列表,并在使用它们时从该列表中删除这些数字。就像从碗里画出数字或类似的东西:)

var numbers = new List<int>(new[]{ 1, 2, 3, 4, 5, 6, 7, 8, 9});
var randomnumbers = new List<int>();
var rnd = new Random();
while( numbers.Count > 0 ){
  var index = rnd.Next(0, numbers.Count);
  randomnumbers.Add(numbers[index]);
  numbers.RemoveAt(index);
}
//randomnumbers now contain the random sequence

答案 2 :(得分:0)

您的代码有几个错误,甚至没有编译。以下代码正在运行并为您提供所期望的内容:

class Program
{
    static void Main(string[] args)
    {
        int[] luvut = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        Console.WriteLine(Kuuluuko(luvut));
        Console.ReadKey();
    }
    private static int Kuuluuko(int[] luvut)
    {
        var random = new Random();
        return luvut[random.Next(0, luvut.Length)];
    }
}