C# default 和 typeof 运算操作符

查看类型的内部结构: typeof
获取类型的默认值: default

            var temp01 = typeof(decimal);//查看类型的内部结构
            var temp02 = default(decimal);//获取类型的默认值

检查数据是否有溢出: checked
不检查数据是否有溢出: unchecked(默认不检查)

            int i = int.MaxValue;

            var result02 = unchecked(i + 1);
            var result01 = checked(i + 1);

is运算符可以检查对象是否与特定的类型兼容
is关键字是用于检查对象是否与给定类型兼容,如果兼容就返回true,如果不兼容就返回false。

//is 的使用
bool  b =  对象名  is 类型名  ;

as运算符用于执行引用类型的显式类型转换
as关键字会直接进行类型转换,如果转换成功会返回转换后的对象,如果转换不成功则不会抛出异常而是返回null

//as 的使用
类型名  b =  对象名  as 类型名  ;
if( b !=null)
{
 Console.WriteLine("转换成功");
}

逻辑运算符:& 逻辑与(安位与); | 逻辑或(按位或); ^ 逻辑异或(按位异或); ~ 按位求反 ;

获取基本数据类型对象所占内存大小: sizeof

??= 运算符的左操作数必须是变量、属性或索引器元素。

?? 和 ??= 运算符的左操作数的类型必须是可以为 null 的值类型。 特别是,可以使用具有无约束类型参数的 null 合并运算符:

public string Name
{
    get => name;
    set => name = value ?? throw new ArgumentNullException(nameof(value), "Name cannot be null");
}
            int? a = null;
            int? b = null;
            int? c = 200;
            int? d = null;
            int? e = null;
            int? f = 100;

            var aa = a ?? b ?? c;//结果=200
            var bb = d ??= e ??= f;//结果=100
            //以上表达式会像这样求值
            var cc = a ?? (b ?? c);//结果=200
            var dd = d ??= (e ??= f);//结果=100

(341条消息) C#运算操作符_穿越虚空的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值