首页 > 解决方案 > 基于条件语句 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;
                            }

                    }
          }
        }

标签: c#windows

解决方案


每次 for 循环运行时,它最多会匹配第一个条件,因为您正在更新 的值,columnj在该迭代中保持不变。您的代码可以简化为以下内容。

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;
                        }

                    }
          }
        }

但我不相信这是你的意图。


推荐阅读