我有點困惑。我嘗試將字串陣列分配給二維字串陣列。但得到“錯誤數量的索引”錯誤。我理解錯誤,但不應該將陣列分配給第二維陣列欄位嗎?
由于sortedString具有x與各一個字串陣列欄位數,它應該是不可能的一個字串陣列分配到只是一個索引欄位?(因為s.Split(';')已經創建了一個陣列)
string[,] sortedString = new string[count,columns];
sortedString[counter] = s.Split(';');
uj5u.com熱心網友回復:
您將多維陣列與鋸齒狀陣列混淆了。sortedString是型別為 的二維陣列string,因此您必須始終提供正確數量的索引 - 在本例中為 2。您不能說sortedString[x],只能說sortedString[x, y]。
您可能會想到鋸齒狀陣列——即一維陣列,其中每個元素本身就是一個(通常是一維)陣列。sortedString像這樣宣告:
string[][] sortedString = new string[count][];
這將允許每個“內部”陣列是一個不同長度的(這取決于有多少;有每個s),這可能不是你想要的。
uj5u.com熱心網友回復:
C#有兩種二維陣列。如果您需要一次訪問一維,因為它是自己的陣列,則必須使用“鋸齒狀”變數,如下所示:
string[][] sortedString = new string[count][];
for(int i = 0; i<sortedString.Length;i )
sortedString[i] = new string[columns];
或者,甚至更好:
var sortedString = new List<string[]>;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/334530.html
