我正在处理一个必须验证参数是否为空的条件。让我们假设参数是Email
。我必须检查向内参数 Email 是否为空。我可以通过多种方式做到这一点,但我不确定要继续使用哪一种。
我正在考虑从以下语句中检查:
1.Email = ""
检查电子邮件是否为空字符串。2.Email isNot Nothing
我想知道这两个功能的区别。如果有更多与验证空字符串相关的函数或参数,您也可以编写。
谢谢。
我正在处理一个必须验证参数是否为空的条件。让我们假设参数是Email
。我必须检查向内参数 Email 是否为空。我可以通过多种方式做到这一点,但我不确定要继续使用哪一种。
我正在考虑从以下语句中检查:
1.Email = ""
检查电子邮件是否为空字符串。2.Email isNot Nothing
我想知道这两个功能的区别。如果有更多与验证空字符串相关的函数或参数,您也可以编写。
谢谢。
String
是一个引用类型,这意味着它可以有一个空引用
例如
string myString = null;
也可以是空的,也就是说有一个引用,它的字符长度为0
例如
string myString = "";
// or
string myString = string.Empty;
为了完整起见,它也可以有空白
例如
string myString = " ";
你可以null
像这样检查
if(myString == null)
您可以检查是否为空
if(myString == "")
// or
if(myString == string.Empty)
您可以检查两者,不null
和不为空
if(myString != null && myString != string.Empty)
您可以使用Null 条件运算符来Length
检查两者是否不为null
空
if(myString?.Length > 0)
或者你可以使用内置的字符串方法,让它更容易一些
String.IsNullOrEmpty(String) 方法
指示指定的字符串是 null 还是空字符串 ("")。
if(string.IsNullOrEmpty(myString))
String.IsNullOrWhiteSpace(String) 方法
指示指定的字符串是 null、空还是仅包含空白字符。
if(string.IsNullOrWhiteSpace(myString))
注意:值得注意的是,IsNullOrWhiteSpace
检查用户输入时通常更健壮
实际上 inC#
string.Empty
等价于""
。请参见String.Empty
检查Empty
或Null
字符串的最佳方法是:
string.IsNullOrEmpty(Email)
或者您可以使用string.IsNullOrWhiteSpace(Email)
额外检查空格。
if(!string.IsNullOrEmpty(Email))
{
// Good to proceed....
}
您不应该将 IsNot nothing 与引用类型变量一起使用。相反,当您需要验证电子邮件时,请将 string.IsNullOrEmpty(Email) 与 String.IsNullOrWhiteSpace(Email) 一起使用。