我想知道是否有特殊的方法/技巧来检查 String 对象是否为空.我知道 String.IsNullOrEmpty 方法,但我想将 null 字符串与空字符串 (="") 区分开来.
I am wondering if there is a special method/trick to check if a String object is null. I know about the String.IsNullOrEmpty method but I want to differentiate a null String from an empty String (="").
我是否应该简单地使用:
Should I simply use:
if (s == null) {
// blah blah...
}
...或者有其他方法吗?
...or is there another way?
object 不能为 null - 表达式 的值可以为 null.值得在您的脑海中清楚地说明差异.s 的值不是一个对象 - 它是一个 reference,它要么是 null,要么指向一个对象.
An object can't be null - the value of an expression can be null. It's worth making the difference clear in your mind. The value of s isn't an object - it's a reference, which is either null or refers to an object.
是的,你应该使用
if (s == null)
请注意,这仍将使用字符串中定义的重载 == 运算符,但这样做是正确的.
Note that this will still use the overloaded == operator defined in string, but that will do the right thing.
这篇关于如何检查字符串是否为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
Equals(item, null) 或 item == nullEquals(item, null) or item == null(Equals(item, null) 或 item == null)
覆盖 == 运算符.如何与空值进行比较?Overriding == operator. How to compare to null?(覆盖 == 运算符.如何与空值进行比较?)
成员访问中的问号在 C# 中是什么意思?What does the question mark in member access mean in C#?(成员访问中的问号在 C# 中是什么意思?)
||(或)C# 中的 Linq 运算符The || (or) Operator in Linq with C#(||(或)C# 中的 Linq 运算符)
C# 空合并运算符等效于 C++C# null coalescing operator equivalent for c++(C# 空合并运算符等效于 C++)
如何使用 .NET XmlSerializer 使值类型可以为空?How to make a value type nullable with .NET XmlSerializer?(如何使用 .NET XmlSerializer 使值类型可以为空?)