首页 > 编程语言 >C#如何判断为空

C#如何判断为空

时间:2023-07-12 15:11:35浏览次数:30  
标签:返回 判断 string C# 运算符 bool str null 为空

1. 使用null合并运算符(??)

    1. 该运算符用于判断左侧的操作符是否为null,如果为null,则返回右侧的操作数,否则返回左侧的操作数。
string str = null;
string result = str ?? "default";

2. 使用null条件运算符(?.)

该运算符用于判断是否为null,如果不是,则执行后面的成员访问操作;如果是,则返回null,不执行后面的操作

 

string str = null;
int length = str?.Length ?? 0;

3. 使用Object.ReferenceEquals方法

该方法用于判断两个对象是否引用同一个内存地址,如果是,则返回True,否则返回false

 

object a = null;
object b = null;
bool result = Object.ReferenceEquals(a, b);

4. ==

该运算符用于判断两个对象是否相等,如果是,则返回True,否则返回false.在使用该运算符时需要注意,对于引用类型,==运算符判断两个对象的内存地址是否相同,而不是对象的值是否相等。

 

string str1=null;
string str2=null;
bool result=str1==str2;

5. string.IsNullOrEmpty

判断字符串是否为null或者空字符串

 

string str = null;
bool result = string.IsNullOrEmpty(str);

6. string.IsNullOrWhiteSpace

该方法用于判断字符串是否为null、空字符串或者只包含空格字符。

 

string str = null;
bool result = string.IsNullOrWhiteSpace(str);

7. Nullable.HasValue属性

该属性用于判断Nullable类型的对象是否有值,如果有,则返回true,否则返回false

 

int? num = null;
bool nresult = num.HasValue;

8. IEnumerable.Any方法

判断集合是否为空,如果集合包含元素 则返回true,否则返回false

 

List<int> list = new List<int>();
bool eresult = list.Any();

9.

标签:返回,判断,string,C#,运算符,bool,str,null,为空
From: https://www.cnblogs.com/xiaoxi888/p/17547541.html

相关文章

  • Shiro characteristic and attack
    CharacteristicIfRememberMe=deleteMeatCookie,SoItisShiro.ShiroKeyYougetthekeyandtomixavulnerabilitywillgettheserversshellorcontroller.TODO.IfIencounterShiroduringfuturetesting,pleasecomeoverandsupplementthisnote.......
  • TyporaCrack
    typro-1.6.7-Activationpatch(backwardcompatible)Thismethodissuitableforthelatestversion,butitmaytriggerfalsealarmsinantivirussystems.Thespecificstepsareasfollows:1.Downloadthelatestversionfromthetyproofficialwebsite.2.......
  • 华普智通HPCS_60-01 雷达测速车牌识别一体机
    测速牌,测速抓拍一体机,平交路口安全预警,行车安全预警,行人过街安全预警,右转车辆行车安全预警,支路来车安全预警,智能道路安全预警平台,Aiot智能预警雷达测速标志牌,相机抓拍单元,车牌识别设备,是交通安全建设中,重要的组成部分。其中典型的设备应用就有,会车预警系统,弯道预警系统,道路测速抓......
  • vector的相关操作
    插入元素:可以使用insert()函数在指定位置插入一个或多个元素。可以通过指定插入位置的迭代器和插入元素的值或范围来进行插入操作。例如:cppstd::vector<int>v={1,2,3,4,5};v.insert(v.begin()+2,10);//在第三个位置插入元素v.insert(v.begin()+3,3,7);......
  • 10.AbstractQueuedSynchronizer(AQS)
    AbstractQueuedSynchronizer(AQS)AQS入门理论知识概念​ 抽象队列同步器,是用来实现锁或者其它同步器组件的公共基础部分的抽象实现,是重量级基础框架及整个JUC体系的基石,主要用于解决锁分配给"谁"的问题​ 整体就是一个抽象的FIFO队列来完成资源获取线程的排队工作,并通过一个int......
  • 吴恩达《LangChain for LLM Application Development》课程笔记
    1.前言LangChain是一个用来构建LLM应用的开源框架,主要是为基于大语言模型的应用提供一系列的构建工具包。这个短课程的主要内容有:模型、提示和解析器:调用LLM,提供提示并解析响应。LLM的记忆:用于存储对话和管理有限上下文空间的记忆。链式操作:创建操作序列。文档问答:将LLM应用于您......
  • SpringBoot中使用Netty开发WebSocket服务-netty-websocket-spring-boot-starter开源项
    场景SpringBoot+Vue整合WebSocket实现前后端消息推送:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/114392573SpringCloud(若依微服务版为例)集成WebSocket实现前后端的消息推送:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/114480731若依前后......
  • Linux系统安全限制:禁用或限制用户ssh登录(sshd_config、hosts.allow、hosts.deny、nolo
        我们知道Linux系统安全性设置有很多方式。常见的有通过firewall防火墙、或者iptables规则实现放行、拦截屏蔽某些特征的网络请求。示例:iptables限制ssh链接服务器    还有一种办法是机房运维常用的权限管控手段:管控服务器登录权限、管控账号执行操作权限。这种手段主......
  • CompletableFuture详解
    CompletableFuture前言CompletableFuture继承于java.util.concurrent.Future,它本身具备Future的所有特性,并且基于JDK1.8的流式编程以及Lambda表达式等实现一元操作符、异步性以及事件驱动编程模型,可以用来实现多线程的串行关系,并行关系,聚合关系。它的灵活性和更强大的功......
  • HCIP-进阶实验07-高可靠性园区网部署
    HCIP-进阶实验07-高可靠性园区网部署1实验需求1.1实验拓扑1.2实验环境说明设备接口IP地址备注AR1G0/0/0172.16.1.1/24G0/0/1172.16.2.1/24loopback0202.22.2.2/24ISPSW1VLANIF10192.168.1.254/24VLANIF20192.168.2.253/24......