簡體   English   中英

有沒有辦法向 C# 中的數組添加多個元素?

[英]Is there a way to add a number of elements to the array in C#?

我正在學習 C# 並且我創建了一個代碼來使用for循環將隨機數添加到List中。

class Program
{
    static void Main(string[] args)
    {
        Random numberGen = new Random();
        List<int> randomNum = new List<int>();
        for (int i = 0; i < 10; i++)
        {
            randomNum.Add(numberGen.Next(1, 100));
        }
        for (int i = 0; i < randomNum.Count; i++)
        {
            Console.WriteLine(randomNum[i]);
        }       
        Console.ReadKey();       
    }      
}

我想知道是否有一種方法可以使用類似的方法將隨機數添加到數組中?

數組的大小在創建時是固定的,所以不能添加到數組中; 但是,您可以:創建一個更大的新數組,復制舊數據,然后 append 新值 - Array.Resize執行前兩個步驟 - 但是:這非常昂貴,這就是您通常使用的原因用於此場景的List<T>或類似的。 List<T>在后台維護一個超大數組,因此它只需要偶爾調整和復制底層數組(本質上,它每次變滿時都會加倍大小,所以你得到的東西接近O(Log2(N))增長導致的開銷)。

您可以直接分配給相關索引,但請注意,您必須將數組初始化為所需的大小(而不是可以動態增長的List ):

int[] randomNum = new int[10];
for (int i = 0; i < randomNum.Length; i++)
{
    randomNum[i] = numberGen.Next(1, 100);
}

使用List<T> ,這就是它專門設計的場景。 完成向其中添加元素后,如果您需要一個數組,則只需調用ToArray()

var myList = new List<int>();
//add random number of random numbers
var myArray = myList.ToArray();

暫無
暫無

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

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