[英]Two Dimensional Array C#
我會像這樣得到用戶的輸入 - “99211,99212,99213_1,99214,99215_3”並將其存儲在一個字符串中
string cpt = "99211,99212,99213_1,99214,99215_3";
cptarray = cpt.Split(',');
我把輸出作為
cptarray[0] = "99211"
cptarray[1] = "99212"
cptarray[2] = "99213_1"
cptarray[3] = "99214"
cptarray[4] = "99215_3"
但我希望輸出為:
cptarray[0][0] = "99211",""
cptarray[1][0] = "99212",""
cptarray[2][0] = "99213","1"
cptarray[3][0] = "99214",""
cptarray[4][0] = "99215","3"
如果我需要得到如上所述的輸出,那么我可以使用2D數組,這是正確的方法嗎?
根據提供的語法:
cptarray[0][0]
...
cptarray[4][0]
你想要一個鋸齒狀的陣列,而不是2D陣列; 你可以在Linq的幫助下構建這個數組:
var cptarray = cpt
.Split(',')
.Select(number => number.Split('_'))
.Select(items => items.Length == 1 ? new string[] {items[0], ""} : items)
.ToArray();
測試
string test = string.Join(Environment.NewLine, cptarray
.Select((line, index) => string.Format("cptarray[{0}] = {1}",
index,
string.Join(", ", line.Select(item => "\"" + item + "\"")))));
Console.Write(test);
產量
cptarray[0] = "99211", ""
cptarray[1] = "99212", ""
cptarray[2] = "99213", "1"
cptarray[3] = "99214", ""
cptarray[4] = "99215", "3"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.