我确定我在这里错过了一些东西。对于某个项目,我需要检查字符串是空还是空。
有没有更简单的方式来写这个?
if(myString == "" || myString == null)
{
...
答案 0 :(得分:37)
是的,确实存在String.IsNullOrEmpty
辅助方法:
if (String.IsNullOrEmpty(myString)) {
...
}
答案 1 :(得分:5)
if (string.IsNullOrEmpty(myString)) {
...
}
或者你可以利用扩展方法中的一个怪癖,它们允许 this 为null:
static class Extensions {
public static bool IsEmpty(this string s) {
return string.IsNullOrEmpty(s);
}
}
然后让你写:
if (myString.IsEmpty()) {
...
}
虽然你可能应该选择另一个名字而不是'空'。
答案 2 :(得分:0)
如果您使用的是.NET 4,则可以使用
if(string.IsNullOrWhiteSpace(myString)){
}
否则:
if(string.IsNullOrEmpty(myString)){
}
答案 3 :(得分:0)
为了避免空检查你可以使用??操作
var result = value ?? "";
我经常将它用作警卫,以避免在方法中发送我不想要的数据。
JoinStrings(value1 ?? "", value2 ?? "")
它还可用于避免不必要的格式化。
string ToString()
{
return "[" + (value1 ?? 0.0) + ", " + (value2 ?? 0.0) + "]";
}
这也可以在if语句中使用,它不是很好但有时可以很方便。
if (value ?? "" != "") // Not the best example.
{
}
答案 4 :(得分:-2)
//如果字符串未定义为null,那么 IsNullOrEmpty 它的效果很好,但如果字符串定义为null,则trim将抛出异常。
if(string.IsNullOrEmpty(myString.Trim()){
...
}
//您可以使用 IsNullOrWhiteSpace ,它可以很好地用于字符串中的多个空格.i.e它也会为多个空格返回true
if(string.IsNullOrWhiteSpace (myString.Trim()){
...
}