[英]Checking null and string.Empty in C#
這可能聽起來像一個菜鳥問題,但是:
string var;
if (var == null)
和
string var;
if (var == string.Empty)
相同?
重復
@Jay是對的,他們不一樣。 String.IsNullOrEmpty()
是檢查null和“”的便捷方法。
不,他們不一樣。
string.Empty
與""
相同,它是一個實際的對象:一個長度為0的字符串。 null
表示沒有對象。
它們不一樣,mscorlib中String.IsNullOrEmpty(string)的實現演示了它:
public static bool IsNullOrEmpty(string value)
{
if (value != null)
{
return (value.Length == 0);
}
return true;
}
不,他們不是。 第一個檢查變量是否已初始化或稍后是否設置為“null”。 第二個檢查變量的值是否為“”(空)。 但是,你不應該使用它們。 您應該使用string.IsNullOrEmpty(var)。
但有時你想知道字符串是否為NULL
並且它的空是無關緊要(在OO設計中)。 例如,您有一個方法,它將返回NULL
或string.
這樣做是因為null表示操作失敗,空字符串表示沒有結果。
在某些情況下,您希望在其他對象中執行任何進一步操作之前知道它是否失敗或者是否沒有結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.