我有一个非常简单的 C# 问题:以下语句在处理空字符串时不相等吗?
s ?? "default";
或者
(!string.IsNullOrEmpty(s)) ? s : "default";
我认为:因为string.Empty!=null
,当我真正想要的是第二个时,合并运算符可能会将第一个语句的结果设置为空值。由于字符串在某种程度上是特殊的(== 和!= 被重载以进行值比较),我只是想请 C# 专家确认。
谢谢你。
我有一个非常简单的 C# 问题:以下语句在处理空字符串时不相等吗?
s ?? "default";
或者
(!string.IsNullOrEmpty(s)) ? s : "default";
我认为:因为string.Empty!=null
,当我真正想要的是第二个时,合并运算符可能会将第一个语句的结果设置为空值。由于字符串在某种程度上是特殊的(== 和!= 被重载以进行值比较),我只是想请 C# 专家确认。
谢谢你。