表达式是可以计算且结果为单个值、对象、方法或命名空间的代码片段。表达式可以包含文本值、方法调用、运算符及其操作数,或简单名称。简单名称可以是变量、类型成员、方法参数、命名空间或类型的名称。
表达式可以使用运算符,而运算符又可以将其他表达式用作参数,或者使用方法调用,而方法调用的参数又可以是其他方法调用,因此表达式既可以非常简单,也可以非常复杂。
文本和简单名称
最简单的两种表达式类型是文本和简单名称。文本是没有名称的常数值。例如,在下面的代码示例中,5
和 "Hello World"
都是文本值:
C# | 复制代码 |
---|
int i = 5;
string s = "Hello World";
|
有关文本的更多信息,请参见类型(C# 参考)。
在上面的示例中,i
和 s
都是用于标识局部变量的简单名称。在表达式中使用这些变量时,变量值检索后将用于表达式中。例如,在下面的代码示例中,当调用 DoWork
时,该方法默认情况下接收值“5”,且不能访问变量 var
:
C# | 复制代码 |
---|
int var = 5;
DoWork(var);
|
调用表达式
在下面的代码示例中,对 DoWork
的调用是另一种表达式,称为调用表达式。
C# | 复制代码 |
---|
DoWork(var);
|
具体来说,调用方法即是一个方法调用表达式。方法调用要求使用方法的名称(如前面的示例中那样作为名称,或作为其他表达式的结果),后跟括号和任意方法参数。有关更多信息,请参见方法(C# 编程指南)。委托调用使用委托的名称和括号内的方法参数。有关更多信息,请参见委托(C# 编程指南)。如果方法返回值,则方法调用和委托调用的计算结果为该方法的返回值。返回 void 的方法不能替代表达式中的值。
备注
请参见