c# - 在for循环C#中使用括号和不使用括号的区别

标签 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:
+
+
+ 
+

代码 2:

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 j = 1; j <= i; j++)
{
    Console.Write('+');
    Console.WriteLine();
}

Console 行都有效,直到 j 循环结束。

但是当你写的时候

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

只有第一个Console 工作,直到j 循环结束。这就是为什么第二个等于;

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

如果循环中包含一个语句,则大括号可以省略。但使用它们总是是更好的方法。

阅读:Why is it considered a bad practice to omit curly braces?

关于c# - 在for循环C#中使用括号和不使用括号的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33564698/

相关文章:

c# - LINQ:使用 "AND"时生成 "OR"表达式而不是 "CONTAINS"

windows - `forfiles`在什么时候枚举了一个目录(树)?

sql - 获取 PostgreSQL 中两个列表之间的差异

time - Shopify 时差

mysql - 从时差中提取年/月/日

java - Android Palette 仅适用于某些 RecyclerView 项目

c# - 等待单个任务从 List<Task<..>> 中更干净地失败,可能使用 LINQ?

c# - 更好地处理连接到互联网的方法中发生的异常

javascript - 为什么使用 "for...in"进行数组迭代是个坏主意?

ios - 动画 For 循环图像不显示