盘点C#中感叹号“!“的作用

在C#编程语言中,感叹号"!"是一个常见的符号,具有多种用途和作用。小编在本文将带大家探讨感叹号在C#中的不同用法,帮助程序员更好地理解和运用这个小而重要的符号。

1、逻辑非:

感叹号用作逻辑非运算符,可以对布尔值进行取反操作。通过在布尔表达式前面添加感叹号,我们可以将一个布尔值从"true"变为"false",或从"false"变为"true"。逻辑非常常用于条件判断和逻辑运算中。

bool isTrue = true;
bool isFalse = !isTrue; // isFalse的值为false
if(!isFalse){
  dosomesting();//这里就是非False 执行,也就条件是true时执行
}

2、关系运算符:

!= 与等号共同组成关系运算符,检查两个操作数的值是否相等。

a!=b

3、非空断言:

在C# 8.0及更高版本中,感叹号可以用于非空断言。当我们声明一个可能为空的引用类型时,在类型后面添加问号(“?”)表示可为空。而感叹号用于标记不为空的断言,告诉编译器在此处不要进行空引用检查。这在我们确定某个引用不会为空时非常有用。

string? nullableString = null;
string nonNullableString = nullableString!; // 非空断言,告诉编译器不要检查nullableString是否为null

4、 可空类型的解引用:

同上条一样在C# 8.0及更高版本中,感叹号还可以用于可空类型的解引用操作。可空类型是指允许变量存储空值的类型,通过在变量后面添加问号(“?”)来表示。当我们需要从可空类型中获取实际值时,可以使用感叹号进行解引用操作,以确保获取到的值不为空。

int? nullableInt = 10;
int nonNullableInt = nullableInt!.Value;
 // 解引用操作,获取nullableInt的值,这里必须确保有值才行

结语

本文讲述了在C#中感叹号(“!”)具有多种作用和用法。通过熟练掌握感叹号的各种用法,程序员可以更好地利用C#语言的特性,编写出更清晰、更健的C#代码。希望本文对你有所收获,你对C#中感叹号(“!”)有什么看法,欢迎留言讨论。

参考:.NET官方文档

来源公众号:DotNet开发跳槽
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值