原文: https://www.programiz.com/csharp-programming/expressions-statements-blocks

在本文中,我们将学习 C# 表达式,C# 语句,表达式与语句之间的区别以及 C# 块。

表达式,语句和块是 C# 程序的构建块。 自从我们的第一个 HelloWorld 程序开始,我们就一直在使用它们。


C# 表达式

C# 中的表达式是操作数(变量,字面值,方法调用)和运算符的组合,可以将它们求值为单个值。 确切地说,一个表达式必须至少具有一个操作数,但不能具有任何运算符。

让我们看下面的例子:

  1. double temperature;
  2. temperature = 42.05;

在此,42.05是一个表达式。 另外,temperature = 42.05也是一个表达式。

  1. int a, b, c, sum;
  2. sum = a + b + c;

在此,a + b + c是一个表达式。

  1. if (age>=18 && age<58)
  2. Console.WriteLine("Eligible to work");

在此,(age>=18 && age<58)是返回boolean值的表达式。"Eligible to work"也是一种表达。


C# 语句

语句是程序执行的基本单位。 一个程序由多个语句组成。

例如:

  1. int age = 21;
  2. Int marks = 90;

在上面的示例中,以上两行都是语句。

C# 中有不同类型的语句。 在本教程中,我们将主要关注其中两个:

  1. 声明语句
  2. 表达式语句

声明语句

声明语句用于声明和初始化变量。

例如:

  1. char ch;
  2. int maxValue = 55;

char ch;int maxValue = 55;都是声明语句。


表达式语句

表达式后跟分号称为表达式语句。

例如:

  1. /* Assignment */
  2. area = 3.14 * radius * radius;
  3. /* Method call is an expression*/
  4. System.Console.WriteLine("Hello");

在这里,3.14 * radius * radius是一个表达式,area = 3.14 * radius * radius;是一个表达式语句。

同样,System.Console.WriteLine("Hello");既是表达式也是语句。

除了声明和表达式语句外,还有:

  • 选择语句(if...elseswitch
  • 迭代语句(foreachwhile
  • 跳转语句(breakcontinuegotoreturnyield
  • 异常处理语句(throwtry-catchtry-finallytry-catch-finally

这些语句将在以后的教程中讨论。

如果您想了解有关语句的更多信息,请访问 C# 语句(C# 参考)


C# 块

块是括在大括号{}中的零个或多个语句的组合。

例如:

示例 1:带有语句的 C# 块

  1. using System;
  2. namespace Blocks
  3. {
  4. class BlockExample
  5. {
  6. public static void Main(string[] args)
  7. {
  8. double temperature = 42.05;
  9. if (temperature > 32)
  10. { // Start of block
  11. Console.WriteLine("Current temperature = {0}", temperature);
  12. Console.WriteLine("It's hot");
  13. } // End of block
  14. }
  15. }
  16. }

当我们运行程序时,输出将是:

  1. Current temperature = 42.05
  2. It's hot

这里,{ }中的两个语句:

  1. Console.WriteLine("Current temperature = {0}", temperature);

  1. Console.WriteLine("It's hot");

形成


示例 2:没有语句的 C# 块

块中可能没有任何语句,如以下示例所示。

  1. using System;
  2. namespace Blocks
  3. {
  4. class BlockExample
  5. {
  6. public static void Main(string[] args)
  7. {
  8. double temperature = 42.05;
  9. if (temperature > 32)
  10. { // Start of block
  11. // No statements
  12. } // End of block
  13. }
  14. }
  15. }

在此,if(temperature > 32)之后的花括号{ }仅包含注释,而没有语句。