翼度科技»论坛 编程开发 .net 查看内容

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

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
在C#编程语言中,感叹号"!"是一个常见的符号,具有多种用途和作用。小编在本文将带大家探讨感叹号在C#中的不同用法,帮助程序员更好地理解和运用这个小而重要的符号。
1、逻辑非:
感叹号用作逻辑非运算符,可以对布尔值进行取反操作。通过在布尔表达式前面添加感叹号,我们可以将一个布尔值从"true"变为"false",或从"false"变为"true"。逻辑非常常用于条件判断和逻辑运算中。
  1. bool isTrue = true;
  2. bool isFalse = !isTrue; // isFalse的值为false
  3. if(!isFalse){
  4.   dosomesting();//这里就是非False 执行,也就条件是true时执行
  5. }
复制代码
2、关系运算符:
!= 与等号共同组成关系运算符,检查两个操作数的值是否相等。
  1. a!=b
复制代码
3、非空断言:
在C# 8.0及更高版本中,感叹号可以用于非空断言。当我们声明一个可能为空的引用类型时,在类型后面添加问号("?")表示可为空。而感叹号用于标记不为空的断言,告诉编译器在此处不要进行空引用检查。这在我们确定某个引用不会为空时非常有用。
  1. string? nullableString = null;
  2. string nonNullableString = nullableString!; // 非空断言,告诉编译器不要检查nullableString是否为null
复制代码
4、 可空类型的解引用:
同上条一样在C# 8.0及更高版本中,感叹号还可以用于可空类型的解引用操作。可空类型是指允许变量存储空值的类型,通过在变量后面添加问号("?")来表示。当我们需要从可空类型中获取实际值时,可以使用感叹号进行解引用操作,以确保获取到的值不为空。
  1. int? nullableInt = 10;
  2. int nonNullableInt = nullableInt!.Value;
  3.  // 解引用操作,获取nullableInt的值,这里必须确保有值才行
复制代码
结语
本文讲述了在C#中感叹号("!")具有多种作用和用法。通过熟练掌握感叹号的各种用法,程序员可以更好地利用C#语言的特性,编写出更清晰、更健的C#代码。希望本文对你有所收获,你对C#中感叹号("!")有什么看法,欢迎留言讨论。
参考:.NET官方文档
  1. 来源公众号:DotNet开发跳槽
复制代码
来源:https://www.cnblogs.com/xbhp/archive/2023/06/30/17516347.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具