c# - C# 将许多 For 循环重构为一个
问题描述
大家晚上好,我刚开始学习 C# 并做一些任务。所以问题是:我创建了一个二维数组,可以说 int[5,5] 并且我需要更改任何数组:主对角线左侧元素中的值 0,右侧元素中的值 1。任何数组都应该是这样的。所以我写了一个代码,但似乎我必须对其进行重构,但我不知道如何。我将不胜感激任何建议。
int[,] someArray = new int[5,5];
newMatrix(someArray);
int row = someArray.GetLength(0);
int col = someArray.GetLength(1);
for (int i = 1; i < row; i++)
{
someArray[i, 0] = 0;
}
for (int i = 2; i < row; i++)
{
someArray[i, 1] = 0;
}
for (int i = 3; i < row; i++)
{
someArray[i, 2] = 0;
}
for (int i = 4; i < row; i++)
{
someArray[i, 3] = 0;
}
for (int j = 1; j < col; j++)
{
someArray[0, j] = 1;
}
for (int j = 2; j < col; j++)
{
someArray[1, j] = 1;
}
for (int j = 3; j < col; j++)
{
someArray[2, j] = 1;
}
for (int j = 4; j < col; j++)
{
someArray[3, j] = 1;
}
`
解决方案
我会这样重构它:
for (int i=0; i<row; i++)
for (int j=0; j<col; j++)
if (i == j)
someArray[i, j] = ?; // main diagonal
else
someArray[i, j] = (j > i) ? 1 : 0;
推荐阅读
- javascript - 对象键已删除但仍在循环中迭代
- rxjs - 在分页期间从 springframework.data.repository.reactive.ReactiveCrudRepository 返回 Mono 时出现“不满足的依赖关系”异常
- python - 格式化数次整个浮点数据帧的最佳方法?
- python - 你如何在python中round()一个map函数?
- django - 如何从 Django Rest Framework FileField 对象返回实际文件数据而不是文件 URL
- facebook - 验证访问令牌 (Facebook) 并获取用户个人资料详细信息
- excel - 组合多个 SumIFS
- android - 嵌套 JSONObject 的 Android Volly 解析错误
- javascript - 如何创建许多元素并将它们添加到另一个许多元素?
- python - Django Queryset 不同视图的相同模板