原文: https://www.programiz.com/csharp-programming/expressions-statements-blocks
在本文中,我们将学习 C# 表达式,C# 语句,表达式与语句之间的区别以及 C# 块。
表达式,语句和块是 C# 程序的构建块。 自从我们的第一个 HelloWorld 程序开始,我们就一直在使用它们。
C# 表达式
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"
也是一种表达。
C# 语句
语句是程序执行的基本单位。 一个程序由多个语句组成。
例如:
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# 参考)
C# 块
块是括在大括号{}中的零个或多个语句的组合。
例如:
示例 1:带有语句的 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");
形成块。
示例 2:没有语句的 C# 块
块中可能没有任何语句,如以下示例所示。
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)
之后的花括号{ }
仅包含注释,而没有语句。