菜鸟求教:用嵌套foreach遍历二维数组的程序 二维数组遍历foreach 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int[,] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; foreach (int hang in matrix) { Console.Write("\n"); } foreach (int hang in matrix) { Console.Write(hang + " "); Console.Write("\n"); } 这是一个foreach,而且结束是全竖行排列的,能用双重foreach输出矩阵形式的结果吗? 这是一个foreach,能用双重foreach输出矩阵形式的结果吗? 这是一个foreach,能用双重foreach输出矩阵形式的结果吗?不能,用嵌套foreach就會報錯。int[,] matrix是一個二維數組,foreach(var hang in matrix)中hang的數據類型是int,并不是int[],是按行遍歷的,也就是逐行進行遍歷。1 2 34 5 67 8 9也就是只用一個foreach就可以遍歷這個數組。按照1 2 3 4 5 6 7 8 9的順序。 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { Console.Write(matrix[i,j] + "\t"); } Console.WriteLine(); } 你写的遍历刚好是适合“可变数组”你可以用BZ的方法,或者用两个for 这是一个foreach,能用双重foreach输出矩阵形式的结果吗?不能,用嵌套foreach就會報錯。int[,] matrix是一個二維數組,foreach(var hang in matrix)中hang的數據類型是int,并不是int[],是按行遍歷的,也就是逐行進行遍歷。1 2 34 5 67 8 9也就是只用一個foreach就可以遍歷這個數組。按照1 2 3 4 5 6 7 8 9的順序。是因为这本书上说是可以用双重foreach来循环逐行输出数据的,请问这有可能吗? foreach (int i in Enumerable.Range(0, arr.GetLength(0))) foreach (int j in Enumerable.Range(0, arr.GetLength(1))) Console.WriteLine(arr[i, j]); foreach (int i in Enumerable.Range(0, arr.GetLength(0))) foreach (int j in Enumerable.Range(0, arr.GetLength(1))) Console.WriteLine(arr[j, i]); 你要输出矩阵用两个for不可以么?foreach是不可以两个嵌套的即使你上面没有报错 还有,能请教一下这个Enumerable.Range(0, arr.GetLength(0)和Enumerable.Range(0, arr.GetLength(1)是怎么起作用的吗?程序怎么认识第一个是读行的第二个是读列的? arr.GetLength(0) 获得第一维的长度(行数),arr.GetLength(1)获得第二维的长度(列数)。 还有,能请教一下这个Enumerable.Range(0, arr.GetLength(0)和Enumerable.Range(0, arr.GetLength(1)是怎么起作用的吗?程序怎么认识第一个是读行的第二个是读列的?获取数组长度,然后得到0~长度-1作为序列,最后根据下标访问。 还有,能请教一下这个Enumerable.Range(0, arr.GetLength(0)和Enumerable.Range(0, arr.GetLength(1)是怎么起作用的吗?程序怎么认识第一个是读行的第二个是读列的?获取数组长度,然后得到0~长度-1作为序列,最后根据下标访问。好的,明白了,谢谢啦! foreach (int i in Enumerable.Range(0, arr.GetLength(0))) { foreach (int j in Enumerable.Range(0, arr.GetLength(1))) { Console.Write(arr[i, j] + " "); } Console.Write("\n"); } 经过各位的指点,终于明白啦,这样就可以用双重foreach输出二维数组的矩阵了。谢谢各位! 如何快速的用C#做系统? 给win7安装了sp1补丁后,无法安装vs2010 C#挑战德州扑克排序问题,看看你的算法功力 请问结构是按值传递,那么类是?根据情况来按值或引用传递么? 动态生成picturebox的问题 菜鸟提问:为什么C#中双击一个控件后只显示一个事件呢?怎么样查看一个控件的其他事件或者方法? 怎么能识别图片格式? 请教高手 详细的讲解 线程,应用程序域,进程彼此之间的联系,区别 关于局域网内的网络管理系统。给各位大大加分 如何判断"D:\" 是光驱还是硬盘? c# windows窗体间传值 求助一个lambda表达式的写法: groupby分离部分数据
int[,] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
foreach (int hang in matrix)
{
Console.Write("\n");
}
{
Console.Write(hang + " ");
Console.Write("\n");
}
不能,用嵌套foreach就會報錯。
int[,] matrix是一個二維數組,foreach(var hang in matrix)中hang的數據類型是int,并不是int[],
是按行遍歷的,也就是逐行進行遍歷。
1 2 3
4 5 6
7 8 9
也就是只用一個foreach就可以遍歷這個數組。按照1 2 3 4 5 6 7 8 9的順序。
{
for (int j = 0; j < 3; j++)
{
Console.Write(matrix[i,j] + "\t");
}
Console.WriteLine();
}
你可以用BZ的方法,或者用两个for
不能,用嵌套foreach就會報錯。
int[,] matrix是一個二維數組,foreach(var hang in matrix)中hang的數據類型是int,并不是int[],
是按行遍歷的,也就是逐行進行遍歷。
1 2 3
4 5 6
7 8 9
也就是只用一個foreach就可以遍歷這個數組。按照1 2 3 4 5 6 7 8 9的順序。
是因为这本书上说是可以用双重foreach来循环逐行输出数据的,请问这有可能吗?
foreach (int j in Enumerable.Range(0, arr.GetLength(1)))
Console.WriteLine(arr[i, j]);
foreach (int j in Enumerable.Range(0, arr.GetLength(1)))
Console.WriteLine(arr[j, i]);
获取数组长度,然后得到0~长度-1作为序列,最后根据下标访问。
获取数组长度,然后得到0~长度-1作为序列,最后根据下标访问。
好的,明白了,谢谢啦!
{
foreach (int j in Enumerable.Range(0, arr.GetLength(1)))
{
Console.Write(arr[i, j] + " ");
}
Console.Write("\n");
}
经过各位的指点,终于明白啦,这样就可以用双重foreach输出二维数组的矩阵了。谢谢各位!