簡體   English   中英

在C#中創建動態大小的矩陣

[英]Creating a dynamically sized matrix in C#

我正在開發一個計算某些值的C#應用​​程序。 我需要將這些值放在x-by-x字符串數組中。 如果我知道“x”是例如,我知道我可以這樣做:

string[,] matrix = new string[3, 3]; 

不幸的是,我不知道“x”會是什么。 有沒有辦法在C#中動態增長矩陣? 如果是這樣,怎么樣?

不,在C#數組中是靜態大小。 它們不能在運行時重新調整大小,除非您使用新大小聲明一個新數組,然后將舊數組中的元素復制到新數組(這取決於您的特定需求是否可行)。 所以基本上你可以使用.NET中的一些動態列表結構,比如IList<T> ,它允許你在運行時動態地添加元素。 當然也有沒有奇跡,下蓋一個List<T>將使用.NET陣列用於備份數據,不同之處在於它將重新大小它智能作為要動態將元素添加到這種結構。

您可以使用變量定義數組的大小,然后在運行時更改它們的值

int arrayWidth = 3;
int arrayHeight = 3;
string[,] matrix = new string[arrayWidth, arrayHeight]; 

然而,正如達林指出的那樣,陣列無法調整大小; 所以一定要保持初始化,直到確認尺寸值。

暫無
暫無

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

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