C# 检查字符串null或空,并替换为另一个字符串

C# 检查字符串null或空,并替换为另一个字符串,c#,asp.net-mvc,C#,Asp.net Mvc,在这里,我想,如果可用代码以null或empty字符串的形式出现,那么我需要将其显示为“暂时不可用”。但我的编码没有显示该字符串。(仅考虑可用代码) 运算符仅处理NULL大小写,而不处理空大小写 替换 b.AvailCode ?? "TemporaryUnavailable" 与 所以正确的路线应该是 text = b.bookname + " / " + (string.IsNullOrEmpty(b.AvailCode) ? "TemporaryUnavailable" : b.Avail

在这里,我想,如果可用代码以
null
empty
字符串的形式出现,那么我需要将其显示为“暂时不可用”。但我的编码没有显示该字符串。(仅考虑可用代码)

运算符仅处理
NULL
大小写,而不处理空大小写

替换

b.AvailCode ?? "TemporaryUnavailable"

所以正确的路线应该是

text = b.bookname + " / " + (string.IsNullOrEmpty(b.AvailCode) ? "TemporaryUnavailable" : b.AvailCode),
运算符仅处理
NULL
大小写,而不处理空大小写

替换

b.AvailCode ?? "TemporaryUnavailable"

所以正确的路线应该是

text = b.bookname + " / " + (string.IsNullOrEmpty(b.AvailCode) ? "TemporaryUnavailable" : b.AvailCode),
如果操作数不为null,则称为null合并运算符的运算符返回左侧操作数;否则,它将返回右侧操作数

不会检查是否为空

使用方法代替

string.IsNullOrWhitespace(b.AvailCode) ? "TemporaryUnavailable" : b.AvailCode
如果操作数不为null,则称为null合并运算符的运算符返回左侧操作数;否则,它将返回右侧操作数

不会检查是否为空

使用方法代替

string.IsNullOrWhitespace(b.AvailCode) ? "TemporaryUnavailable" : b.AvailCode

运算符
的优先级非常低,它是在左侧的
+
运算符之后计算的。因此,您永远无法在左侧获得
null
。您需要用括号括起来:

  text =  b.bookname + " " + "/"+" " + (b.AvailCode ?? "TemporaryUnavailable"),  
或者,如果要同时处理空的:

  text =  b.bookname + " " + "/"+" " + (string.IsNullOrEmpty(b.AvailCode) ? "TemporaryUnavailable" : b.AvailCode),  

运算符
的优先级非常低,它是在左侧的
+
运算符之后计算的。因此,您永远无法在左侧获得
null
。您需要用括号括起来:

  text =  b.bookname + " " + "/"+" " + (b.AvailCode ?? "TemporaryUnavailable"),  
或者,如果要同时处理空的:

  text =  b.bookname + " " + "/"+" " + (string.IsNullOrEmpty(b.AvailCode) ? "TemporaryUnavailable" : b.AvailCode),  

text=String.Format(“{0}/{1}”,b.bookname,String.IsNullOrEmpty(b.AvailCode)?“暂时不可用”:b.AvailCode)text=String.Format(“{0}/{1}”,b.bookname,String.IsNullOrEmpty(b.AvailCode)?“暂时不可用”:b.AvailCode)上面的注释代码也有效。它向我显示了错误“无法将类型bool简单转换为字符串”将检查包装在
()
中。像
(string.IsNullOrWhitespace(b.AvailCode)-“TemporaryUnavailable”:b.AvailCode)
一样,它向我显示了错误“无法将类型bool简单转换为string”将检查包装在
()
中。比如
(string.IsNullOrWhitespace(b.AvailCode)-“暂时不可用”:b.AvailCode)