ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# C# 表达式,语句和块(带有示例) > 原文: [https://www.programiz.com/csharp-programming/expressions-statements-blocks](https://www.programiz.com/csharp-programming/expressions-statements-blocks) #### 在本文中,我们将学习 C# 表达式,C# 语句,表达式与语句之间的区别以及 C# 块。 表达式,语句和块是 C# 程序的构建块。 自从我们的第一个 [HelloWorld 程序](/csharp-programming/hello-world "C# Hello World program")开始,我们就一直在使用它们。 * * * ## C# 表达式 C# 中的表达式是操作数(变量,字面值,方法调用)和运算符的组合,可以将它们求值为单个值。 确切地说,一个表达式必须至少具有一个操作数,但不能具有任何运算符。 让我们看下面的例子: ```cs double temperature; temperature = 42.05; ``` 在此,`42.05`是一个表达式。 另外,`temperature = 42.05`也是一个表达式。 ```cs int a, b, c, sum; sum = a + b + c; ``` 在此,`a + b + c`是一个表达式。 ```cs if (age>=18 && age<58) Console.WriteLine("Eligible to work"); ``` 在此,`(age>=18 && age<58)`是返回`boolean`值的表达式。`"Eligible to work"`也是一种表达。 * * * ## C# 语句 语句是程序执行的基本单位。 一个程序由多个语句组成。 例如: ```cs int age = 21; Int marks = 90; ``` 在上面的示例中,以上两行都是语句。 C# 中有不同类型的语句。 在本教程中,我们将主要关注其中两个: 1. 声明语句 2. 表达式语句 * * * ### 声明语句 声明语句用于声明和初始化变量。 例如: ```cs char ch; int maxValue = 55; ``` `char ch;`和`int maxValue = 55;`都是声明语句。 * * * ### 表达式语句 表达式后跟分号称为表达式语句。 例如: ```cs /* 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# 语句](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/statements "Details about statements in C#")(C# 参考) * * * ## C# 块 块是括在大括号{}中的零个或多个语句的组合。 例如: ## 示例 1:带有语句的 C# 块 ```cs 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 } } } ``` 当我们运行程序时,输出将是: ```cs Current temperature = 42.05 It's hot ``` 这里,`{ }`中的两个语句: ```cs Console.WriteLine("Current temperature = {0}", temperature); ``` 和 ```cs Console.WriteLine("It's hot"); ``` 形成**块**。 * * * ### 示例 2:没有语句的 C# 块 块中可能没有任何语句,如以下示例所示。 ```cs 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)`之后的花括号`{ }`仅包含注释,而没有语句。