C# 判断字符串是否为空

C# 判断字符串是否为空

单问号

c#中问号可以判断字符、引用、事件等是否为空,比如 Action?.Invoke(); 判断Action是否为空,不为空则调用,这样就避免了用if语句进行是否为空的判断。

进阶

开发中会遇到解析json的情况:

 		JsonData.Code = jslist["Code"];
        JsonData.Version = jslist["Version"].ToString();

如果万一我们接收服务器Json数据时,服务器传输了一个null的值比如:

		{ "code" : null }

当我们解析时进行ToString()获取某一个键的值时,程序就会报错,那么以防这种意料之外的null值出现,我们可以使用“??"来进行是否为空的判断,类似三元表达式:

		object data = "test";
        string dataStr= data?.ToString()??"str";

当 data==null 时,单问号判断为空,不会进行ToString() 操作,dataStr会进入双问号判断,因为是null,所以被赋值成 “str” ,当data!=null时,dataStr会被单问号判断不为空,直接ToString(),赋予data的原始值也就是"test";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值