代碼下面:問題AND條件
if(var != "" && var.startswith("somestring"))
{ do something }
此代碼是令人不安;至於我的理解var!=「」將先評估,然後如果是真的,那麼其他部分將被評估,但這個概念似乎不工作:)
如果var有一個值null,那麼我得到「nullreferrence」例外;這意味着 var!= null沒有得到評估。
請幫忙。
感謝, 拉胡爾
代碼下面:問題AND條件
if(var != "" && var.startswith("somestring"))
{ do something }
此代碼是令人不安;至於我的理解var!=「」將先評估,然後如果是真的,那麼其他部分將被評估,但這個概念似乎不工作:)
如果var有一個值null,那麼我得到「nullreferrence」例外;這意味着 var!= null沒有得到評估。
請幫忙。
感謝, 拉胡爾
在C#中,空字符串和空字符串之間存在差異。您必須檢查所有3種情況,實際上,C#僅包含此情況的輔助方法:
if(!string.IsNullOrEmpty(var) && var.StartsWith("somestring"))
{
// do something
}
var!=「」與var!= null不同。
「」是一個有效string
- 它只是恰巧有長度爲0,但它不是null
!要檢查null
,請寫var != null
。
如果有可能你的變量爲空,你需要在你試圖做任何類型的處理(即使是簡單的比較)之前檢查它是否爲null,否則你會得到這個「nullreference」例外。
if(var != null){
//gitter done
}
你比較VAR爲「」,而不是空 – Rob 2011-02-16 22:29:00