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";

你可能感兴趣的:(语法,c#)