c# - 我需要帮助理解通过二维 (2D) 数组循环
问题描述
我正在尽我所能理解二维数组的值被打印出来我曾经嵌套for循环以打印出我的值,但我没有打印出行和列,而是故意打印出 [column , column] 只是为了看看将返回什么值。我不想修复代码作为答案我想为某人解释
有人可以解释我为什么要打印 159 的结果。我理解在第一个循环中,编译器在列的第一行中获得第一个值,但是在下一个循环迭代中,为什么它打印出 5 而不是 4?
我得到第一个循环目的,即每 1 个循环为行,行执行列循环 3 次。
public static void Main(string[] args)
{
int[,] _tacToe = new int[3, 3]
{
{1,2,3} ,
{4,5,6},
{7,8,9}
};
for (int row = 0; row < 3; row++)
{
Console.WriteLine("gggg");
for (int column = 0; column < 3; column++)
{
Console.Write(_tacToe[column, column]);
}
Console.WriteLine();
}
Console.ReadLine();
结果:
gggg
159
gggg
159
gggg
159
解决方案
因为您同时使用column
两个索引,所以同时增加行和列索引
for (int column = 0; column < 3; column++)
{
Console.Write(_tacToe[column, column]);
}
/*
column = 0 _tacToe[0, 0] -> prints 1
column = 1 _tacToe[1, 1] -> prints 5
column = 2 _tacToe[2, 2] -> prints 9
*/
推荐阅读
- wordpress - WordPress 表单提交问题
- r - 将 exiftool 添加到使用 golem 构建的闪亮应用程序包中;收到错误消息“警告:系统错误:找不到‘exiftool’”
- python - 如何使用包创建左、右和中心框架?
- javascript - 如何将本地 jQuery 导入到 VS Code 扩展的 webview 中?
- python - 在 Django Rest Framework 中按属性或自定义字段对模型进行排序
- visual-studio-code - Visual Studio Code / VS Code:关闭光标行/当前行突出显示选项
- java - AutoValue 负检查
- javascript - 尝试在画布(JS)中更新计时器
- mysql - 加入所有 JSON 对象字符串值
- mysql - 使用 Docker Compose 从 Go REST API 连接 Mysql 时出错