表达式与运算符

来源:互联网 发布:静态变量 java 编辑:程序博客网 时间:2024/04/30 14:47

1: ??
int y = x ?? -1;
2:as 与is
as   将对象转换为可兼容类型。

is   检查对象的运行时类型。

3:+=

+= 运算符还用于指定响应事件时要调用的方法;这类方法称为事件处理程序。因为事件处理程序封装在委托类型中,所以在此上下文中使用 += 运算符称为“委托串联”

 

=> 运算符(C# 参考)

 

更新:2007 年 11 月

 

=> 标记称作 lambda 运算符。该标记在 lambda 表达式中用来将左侧的输入变量与右侧的 lambda 体分离。Lambda 表达式是与匿名方法类似的内联表达式,但更加灵活;在以方法语法表示的 LINQ 查询中广泛使用了 Lambda 表达式。有关更多信息,请参见 Lambda 表达式(C# 编程指南)。

 

  string[] words = { "cherry", "apple", "blueberry" };
  int shortestWord = words.Min(w => w.Length); 备注
=> 运算符可解读为“goes to”。在上一示例中,该表达式可解读为“Min w goes to w dot Length”。

 

=> 运算符具有与赋值运算符 (=>) 相同的优先级,并且是右结合运算符。

 

可以显式指定输入变量的类型或让编译器进行推断;在任一情况下,此变量在编译时都是强类型的。当指定类型时,必须用括号将类型名称和变量名括起,如以下示例所示:

 

int shortestWord = words.Min((string w) => w.Length);用括号将多个输入变量括起,如本主题稍后的示例所示。

 

 示例
下面的示例演示如何使用两个输入变量为标准查询运算符 Enumerable..::.Where 编写 lambda 表达式。此表达式将返回其长度小于其在数组中的索引位置的所有字符串。

  string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
  var shortDigits = digits.Where((digit, index) => digit.Length < index);

4:typeofC# 参考)

用于获取类型 System.Type 对象。typeof 表达式采用以下形式:

System.Type type = typeof(int);

若要获取表达式的运行时类型,可以使用 .NET Framework 方法 GetType,如以下示例中所示:int i = 0;

System.Type type = i.GetType();//不能重载 typeof 运算符。

原创粉丝点击