在for循环C#中使用括号与不使用括号之间的区别

在for循环C#中使用括号与不使用括号之间的区别,c#,for-loop,difference,brackets,C#,For Loop,Difference,Brackets,以下代码的输出与第二个代码的输出不同 有人能解释一下这个问题吗 代码1: for(int i = 1; i <= intInput; i++) { for(int j = 1; j<=i; j++) { Console.Write('+'); Console.WriteLine(); } } if intInput is 4 Ouput is: + + + + for(int

以下代码的输出与第二个代码的输出不同 有人能解释一下这个问题吗

代码1:

for(int i = 1; i <= intInput; i++)
{
    for(int j = 1; j<=i; j++)
    {
        Console.Write('+');
        Console.WriteLine();
    }                         
}
if intInput is 4 Ouput is:
+
+
+ 
+

for(int i=1;i循环有一个作用域。如果不包括大括号,则循环中只有第一行。如果有大括号,则循环中的所有内容都属于循环的作用域

在本例中,第一个示例在每次迭代内部循环时向控制台写入一个“+”以及一行新行


第二种情况下,内部循环仅在每次内部迭代中执行“+”写入。外部循环添加新行。

第二种情况实际上意味着:

    for(int i = 1; i <= intInput; i++)
    {
        for(int j = 1; j<=i; j++)
        {
            Console.Write('+');
        }
        Console.WriteLine();                                    
    }
for(inti=1;i当你写的时候

for(int j = 1; j <= i; j++)
{
    Console.Write('+');
    Console.WriteLine();
}
只有第一个
控制台
工作,直到
j
循环出来。这就是为什么第二个控制台等于

for(int j = 1; j<=i; j++)
{
   Console.Write('+');
}
Console.WriteLine();    

for(int j=1;j如果在第二个循环中用i替换1,则其工作原理相同

for (int j = **i**; j <= i; j++)
   Console.Write('+');
   Console.WriteLine();

<代码> >(int j*****;j。如果不指定卷曲括号,它将考虑第一语句立即到for语句,因为for循环中是重复的。看起来像某种作业。为什么不使用调试器来查找自己?或者您是一个Python程序员。)在Visual Studio中,我总是使用ctrl+k、ctrl+d来格式化文档,然后您还可以更好地看到嵌套的if/for/class/which代码。您使用Python的次数太多了!@kame Yeb bro it true:)
for(int j = 1; j<=i; j++)
{
   Console.Write('+');
}
Console.WriteLine();    
for (int j = **i**; j <= i; j++)
   Console.Write('+');
   Console.WriteLine();