二维数组C#

二维数组C#,c#,arrays,multidimensional-array,C#,Arrays,Multidimensional Array,我将从用户处获得如下输入——“992119921299213_19921499215_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] = "99

我将从用户处获得如下输入——“992119921299213_19921499215_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的帮助下构造此阵列:

试验

输出

 cptarray[0] = "99211", ""
 cptarray[1] = "99212", ""
 cptarray[2] = "99213", "1"
 cptarray[3] = "99214", ""
 cptarray[4] = "99215", "3"

也许您可以使用一个或多个字典。您显示的不是2D数组,而是锯齿状数组(数组数组数组)。此行显示语法错误-string test=string.Join(Environment.NewLine,cptarray.Select((line,index)=>$”cptarray[{index}]={string.Join(,”,line.Select(item=>“\”“+item+”)))@阿鲁纳:你使用C#6.0吗
$“…”
是一种字符串插值,出现在C#6中。0@Aruna:我在
测试中更改了字符串格式的字符串插值(请参见我的编辑)
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"