c# - 基于条件语句 C# 的动态执行代码的方式
问题描述
我在 C# 上构建了一些代码来绘制一些线条,但我能够以更简单的方式修改概念,如下面的问题。
代码内部有一个条件检查语句“ if (j == column) ”,下一个条件检查基于之前的结果。如果我要使结果为:有什么方法可以使条件检查更加动态/正确:
你好世界 1
(经过一些循环)
你好世界2
(经过一些循环)
你好世界3
(经过一些循环)
你好世界4
源代码 :
public static void Main()
{
int column = 7;
for (int i = -1; i <= 7; i++)
{
for (int j = -1; j < 28; j++)
{
if(j == column)
{
Console.WriteLine("Hello world 1");
column = column * 2;
}
if(j == column)
{
Console.WriteLine("Hello world 2");
column = column * 3;
}
if (j == column)
{
Console.WriteLine("Hello world 3");
column = column * 4;
}
if (j == column)
{
Console.WriteLine("Hello world 4");
column = column * 5;
}
}
}
}
解决方案
每次 for 循环运行时,它最多会匹配第一个条件,因为您正在更新 的值,column
但j
在该迭代中保持不变。您的代码可以简化为以下内容。
public static void Main()
{
int column = 7;
for (int i = -1; i <= 7; i++)
{
for (int j = -1; j < 28; j++)
{
if(j == column)
{
Console.WriteLine("Hello world 1");
column = column * 2;
}
}
}
}
但我不相信这是你的意图。
推荐阅读
- python - Python Selenium 给定一个元素,使用 element.find_element 查找直接子元素下面的元素
- java - 如何通过id组合两个对象列表并在kotlin中选择非空值
- python - easyimap - 连接到 gmail 失败,凭据无效
- flutter - 如何在同一个屏幕上两次使用相同标签的英雄?
- python - RQ 调度程序两次排队任务并陷入循环运行排队任务
- html - 使用 css flex 设置 3 列卡
- html - 图像 div 对较小的屏幕尺寸没有响应
- r - 总结列中所有先前的值
- python - 嵌套的 If-else pandas 数据框
- javascript - 如何从数组中删除与另一个数组中的项相等的项?