您的位置:首页 > 编程语言 > C#

string[][]和string[,]的区别

2015-11-12 22:16 513 查看
摘抄1:

string[][] 是不规则的,可以理解成元素是 string[] 类型的一维数组

string[,] 是规则的,可以理解是个矩阵,每个元素都是 string 类型

可以假设,在 JsSerializer 里面有一个方法用 foreach 遍历处理 IEnumerable 的成员,那么你可以试一下代码:

string[][] jagger;
string[,] matrix;
foreach (var item1 in jagger){}
foreach (var item2 in matrix){}


不用运行,用 VS 的智能提示看看两个 var 分别是什么类型,你会发现 item1 的类型是 string[],item2 的类型是 string,这就可以理解 JsSerializer 处理 string[][] 和 string[,] 的行为了。

摘抄2:

string[][]是一维数组。string[,]是二维数组。
string[][]和普通的一维数组不同的是。他的每个元素本身就是又是一个数组。
而string[,]是二维数组。就是数组的每一个元素都必须是长度为2的数组。
比如有下面的数组
[
[1,2,3],
[2,4]
]

那么这个数组必定是string[][]类型而不会是string[,]类型。
因为string[][]定义时:数组的里的每个元素都是数组。(只要是数组就行)
string[,]定义是:数组的每一个元素都必须是长度为2的数组。
可见基本上可以理解都是二维数组但string[][]里的元素长度可以不相等。
string[,]必须长度一致
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# string