EG。
String [ ][ ] LinesSplitByComma1 =
File.ReadAllLines("Filepath").Select(s => s.Split(',')).ToArray();
答案 0 :(得分:10)
字符串数组数组。
它正在读取文件并创建一个数组,其中每个元素都是文件中的一行,由用逗号分隔该行创建的字符串数组表示。
像
这样的文件a,b,c
1,2,3
asdas,ertert,xcvxcvx
将表示为
LinesSplitByComma1[0][0] = "a"
LinesSplitByComma1[0][1] = "b"
LinesSplitByComma1[0][2] = "c"
LinesSplitByComma1[1][0] = "1"
LinesSplitByComma1[1][1] = "2"
LinesSplitByComma1[1][2] = "3"
LinesSplitByComma1[2][0] = "asdas"
LinesSplitByComma1[2][1] = "ertert"
LinesSplitByComma1[2][2] = "xcvxcvx"
答案 1 :(得分:1)
这是一个字符串数组的数组。在您的特定情况下,您有一个行数组,每行都被分成一个逗号分隔的标记数组。
string[][] lines = File.ReadAllLines("Filepath").Select(s => s.Split(',')).ToArray();
string[] tokens = lines[i];
string token = tokens[j];
答案 2 :(得分:1)
这是一个“锯齿状”阵列;一串字符串数组。它是“二维阵列”的一种形式;另一个是“矩形数组”,可以声明为string[,]
。
差异是名称中固有的;锯齿状数组的子数组每个都可以有不同数量的值,而矩形数组的子数组每个都有相同的长度。
在记忆中,它们看起来非常不同。锯齿状数组最初被创建为一个指向其他数组的“指针”数组,并且当锯齿状数组被初始化时,构成构造的第二维的数组分别在第一个“桶”中单独创建和引用。维数组:
string[][] jaggedArray = new string[3][]; //the first dimension contains three elements
jaggedArray[0] = new string[5]; //now the first element is an array of 5 elements.
jaggedArray[1] = new string[4]; //the second element's array can be a different length.
jaggedArray[0][2] = "Test";
var secondDim = jaggedArray[1]; //A higher-dimension array of a jagged array can be independently referenced.
但是,矩形阵列一次创建为单个内存块:
string[,] rectArray = new string[3,5]; //the entire 3x5 block of string refs is now reserved.
rectArray[0,4] = "Test"; //we didn't have to declare the second-dimension array.
//However, the following will not compile:
var secondDim = rectArray[1]; //a rectangular array's higher dimensions can't be "severed".