簡體   English   中英

C#,在函數中返回一個數組

[英]C#, returning an array in a function

我有一個生成數組的方法。 我想返回這個數組,所以我可以使用另一種方法。 到目前為止,這是我的代碼:

public static Array[] generateFirstArray(int seedValue)
{
    int[] firstArray = new int[20];
    Random randomNumber = new Random(seedValue);

    for (int i = 0; i < firstArray.Length; i++)
    {
        firstArray[i] = randomNumber.Next(0, 4);
    }

    return firstArray;
}

但是當我運行它時,我收到以下錯誤:

錯誤1無法將類型'int []'隱式轉換為'System.Array []'

我試圖在firstArray之后添加[]但仍然無效。

您的返回類型當前是Array對象的Array 將返回類型更改為int s( int[] )數組:

public static int[] generateFirstArray(int seedValue)

您的方法的簽名表示您正在嘗試返回Array of Array( Array[] )。

您想要返回一個int[]所以只需將您的簽名更改為

public static int[] generateFirstArray(int seedValue)

你的方法的返回類型必須是int[]而不是Array[]

這是實現它的另一種方法

int Min = 0;
int Max = 4;
Random randNum = new Random(seedValue);
int[] firstArray = Enumerable
                   .Repeat(0, 20)
                   .Select(i => randNum.Next(Min, Max))
                   .ToArray();
return firstArray;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM