【发布时间】:2016-04-03 19:00:29
【问题描述】:
我是一名编程新手,刚开始学习数组。 让我感到困惑的是在 C# 中初始化多维数组的方式。那是因为我自己没有指定每个元素的坐标,但是 C# 以某种方式做到了。
更具体地说,假设我初始化了这个数组:
string[,] names = {
{"Deadpool", "Superman", "Spiderman"}
{"Catwoman", "Batman", "Venom"}
};
鉴于在单维数组初始化中,C# 首先将第一个值放在元素 [0] 中,我假设多维数组也是如此。但它不是对每个单独的维度都做同样的事情吗?这不可能是真的。因为那时它会将“Deadpool”放置在该行的元素 [0] 上,然后它会尝试将“Catwoman”放置在第一列的元素 [0] 上。如果是这种情况,鉴于第一行的元素 [0] 与第一列的元素 [0] 相同,“猫女”将替换“死侍”,因为两者都将写入 [0,0]。然而,使用foreach 在控制台上写入所有内容,两者都出现了。那么C#如何以及在哪里放置每个值,以避免一个维度的值覆盖另一个维度的值?
【问题讨论】:
-
嗯...有两组数据项用大括号括起来,所以没有歧义的余地。编译器做正确的事。
-
欢迎来到 Stackoverflow。你可以遍历你的数组,你会看到。全部记录在这里:msdn.microsoft.com/en-us/library/9b9dty7d(v=vs.140).aspx
标签: c# multidimensional-array array-initialization