原文: https://www.programiz.com/csharp-programming/expressions-statements-blocks
表达式,语句和块是 C# 程序的构建块。 自从我们的第一个 HelloWorld 程序开始,我们就一直在使用它们。
C# 中的表达式是操作数(变量,字面值,方法调用)和运算符的组合,可以将它们求值为单个值。 确切地说,一个表达式必须至少具有一个操作数,但不能具有任何运算符。
让我们看下面的例子:
double temperature;
temperature = 42.05;在此,42.05是一个表达式。 另外,temperature = 42.05也是一个表达式。
int a, b, c, sum;
sum = a + b + c;在此,a + b + c是一个表达式。
if (age>=18 && age<58)
Console.WriteLine("Eligible to work");在此,(age>=18 && age<58)是返回boolean值的表达式。"Eligible to work"也是一种表达。
语句是程序执行的基本单位。 一个程序由多个语句组成。
例如:
int age = 21;
Int marks = 90;在上面的示例中,以上两行都是语句。
C# 中有不同类型的语句。 在本教程中,我们将主要关注其中两个:
- 声明语句
- 表达式语句
声明语句用于声明和初始化变量。
例如:
char ch;
int maxValue = 55;char ch;和int maxValue = 55;都是声明语句。
表达式后跟分号称为表达式语句。
例如:
/* Assignment */
area = 3.14 * radius * radius;
/* Method call is an expression*/
System.Console.WriteLine("Hello");在这里,3.14 * radius * radius是一个表达式,area = 3.14 * radius * radius;是一个表达式语句。
同样,System.Console.WriteLine("Hello");既是表达式也是语句。
除了声明和表达式语句外,还有:
- 选择语句(
if...else,switch) - 迭代语句(
foreach,while) - 跳转语句(
break,continue,goto,return,yield) - 异常处理语句(
throw,try-catch,try-finally,try-catch-finally)
这些语句将在以后的教程中讨论。
如果您想了解有关语句的更多信息,请访问 C# 语句(C# 参考)
块是括在大括号{}中的零个或多个语句的组合。
例如:
using System;
namespace Blocks
{
class BlockExample
{
public static void Main(string[] args)
{
double temperature = 42.05;
if (temperature > 32)
{ // Start of block
Console.WriteLine("Current temperature = {0}", temperature);
Console.WriteLine("It's hot");
} // End of block
}
}
}当我们运行程序时,输出将是:
Current temperature = 42.05
It's hot这里,{ }中的两个语句:
Console.WriteLine("Current temperature = {0}", temperature);和
Console.WriteLine("It's hot");形成块。
块中可能没有任何语句,如以下示例所示。
using System;
namespace Blocks
{
class BlockExample
{
public static void Main(string[] args)
{
double temperature = 42.05;
if (temperature > 32)
{ // Start of block
// No statements
} // End of block
}
}
}在此,if(temperature > 32)之后的花括号{ }仅包含注释,而没有语句。