C# 参考—— 运算符

1. lambda 运算符:=>  读作goes to, 该标记在Lambda表达式中用来将左侧的输入变量与右侧的lambda体分离。Lambda 表达式是与匿名方法类似的内敛表达式,但更加灵活;在方法语法表示的LINQ查询中广泛使用了Lambda表达式。Lambda 表达式也可用在标准查询中。


2.条件运算符:?:格式为 condition ? first_expression: second_expression;  如果条件为true,则计算第一表达式并以它的计算结果为准;如果为false,则计算第二表达式并以它的计算结果为准。只计算两个表达式中的一个。


3. 逻辑与& 与 条件与&& 区别:

逻辑与 &:为整型和bool 类型预定义的二进制 & 运算。对于整型,& 计算操作数的逻辑按位“与”。对于bool操作数,& 计算操作数的逻辑“与”。

条件与 &&:执行其操作数的逻辑“与” 运算,但仅在必要时才计算第二个操作数。

x && y:当x 为 false 时,则不计算y.这称为“短路”运算。


4.is 运算符:检查对象是否与给定类型兼容

if (obj is string){  } 确定对象是否与string 类型兼容。 

如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则 is 表达式的计算结果将是true


5.as 运算符:用于在兼容的引用类型之间执行转换。 as 运算符类似于强制转换操作。但是,如果无法进行转换,则as 返回null 而非引发异常。


6. typeof 运算符:用于获取类型的System.Type 对象 Syste.Type type = (typeof)int;


7. size of 运算符:用于获取值类型的字节大小,不能用于引用类型。

8. checked 和 unchecked

checked:用于对整型算术运算和转换显示启用溢出检查

unchecked:取消整型算术运算和转换的溢出检查

<span style="font-size:18px;">short x = 32767;
short y = 32767;
int z =0;
z = checked(short)(x+y);</span>

此段代码会引发OverflowException异常,返回z = 0;

const int x = 2147483647;
const int y = 2;
int z;
unchecked
{
    z = x * y;
}

9. ? 和 ??

Nullable<T>泛型结构:表示基础类型为值类型的对象,值类型和引用类型一样也可以分配null

 T ? 是 Nullable<T>的简写,此处T 为值类型,这两种形式可以互换 int ? x = 10;

??:int ? x = null; int y = x ?? -1; 如果左边的操作数为非null,该运算符返回左操作数,否则返回右操作数。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值