关于返回整数数组的C#

时间:2018-04-06 00:55:57

标签: c#

当我写C#代码返回整数数组时,为什么它只输出3?它不能随机数。请帮助我,谢谢!

static void Main(string[] args)
{
    Console.WriteLine(3);
}
static int[] RandomArray(int items)
{
    int[] array = new int[items];
    Random rand = new Random();
    for (int i = 0; i < items; i++)
    {
        array[i] = rand.Next(100, 200);
    }
    return array;
}

3 个答案:

答案 0 :(得分:1)

static void Main(string[] args)
{
    var output = RandomArray(10);

    for (int i = 0; i < output.Length; i++)
    {
        Console.WriteLine(output[i]);
    }       

    Console.WriteLine();
}

static int[] RandomArray(int items)
{
    int[] array = new int[items];

    Random rand = new Random();

    for (int i = 0; i < items; i++)
    {
        array[i] = rand.Next(100, 200);
    }

    return array;
}

output变量中,您将获得数组。你可以进一步使用它。

答案 1 :(得分:0)

你可以这样做。

问题是您只是将3写入控制台

private static Random rand = new Random();

public static void Main(string[] args)
{
    foreach(var item in RandomArray(3))
       Console.WriteLine(item);
}

static int[] RandomArray(int items)
{
    int[] array = new int[items];

    for (int i = 0; i < items; i++)
        array[i] = rand.Next(100, 200);

    return array;
}

Demo Here

Random Class

Console.WriteLine Method

答案 2 :(得分:0)

Main是C#应用程序中的entry point。在程序执行开始时,公共语言运行库(CLR)调用Main。换句话说,Main会自动调用。 RandomArray也是method。但是,它不是入口点,因此不会自动调用。您必须从main调用RandomArray才能执行该方法。

现在你的程序实际上只是:

static void Main(string[] args)
{
    Console.WriteLine(3);
}

剩下的代码就是无所事事。

要解决此问题,您需要从RandomArray

致电Main
static void Main(string[] args)
{
    Console.WriteLine(3);
    RandomArray(5);
}

如果您还想将更多数据输出到控制台,那么您可以执行以下操作:

static int[] RandomArray(int items)
{
    int[] array = new int[items];
    Random rand = new Random();
    for (int i = 0; i < items; i++)
    {
        array[i] = rand.Next(100, 200);
        Console.WriteLine($"{array[i]} inserted into array");
    }

    return array;
}

据推测,您还希望使用RandomArray的返回值执行某些操作。修改Main以将返回值分配给变量。然后你可以对结果做点什么:

static void Main(string[] args)
{
    Console.WriteLine(3);
    int[] result = RandomArray(5);
    foreach (var element in result)
    {
        Console.WriteLine(element);
    }
}