我試圖檢查我的var中的空值,但它拋出「對象引用未設置爲對象的實例。」爲什麼if條件不檢查空值
private void GenerateImage()
{
//Webster.Client.Modules.Metadata.Helper test = new Webster.Client.Modules.Metadata.Helper();
var selectedstory = Webster.Client.Modules.Metadata.Helper.SelectedStoryItem;
if((selectedstory.Slug).Trim()!=null)
{
//if (!string.IsNullOrEmpty(selectedstory.Slug))
//{
if (File.Exists(pathToImage))
{
}
else
{
this.dialog.ShowError("Image file does not exist at the specified location", null);
}
}
else
{
this.dialog.ShowError("Slug is Empty,please enter the Slug name", null);
}
}
我知道selectedstory.Slug具有空值,這就是爲什麼我用了一個如果條件檢查,但它在if條件扔在那裏。
有人可以請告知什麼是正確的方法來檢查。
C#應該有一個[安全導航操作符(http://groovy.codehaus.org/Operators#Operators-SafeNavigationOperator)有一個建議上C#但它[尚未實現](https://connect.microsoft.com/VisualStudio/feedback/details/192177/a-bit-more-c-syntactic-sugar-for-nulls)一些進取的用戶[一個] (http://code.logos.com/blog/2008/01/nullpropagating_extension_meth.html),當他們不能等待時 –
感謝Michael提供了有用的鏈接。我並不是很瞭解擴展方法的用法,但現在得到了很好的理解:)。 – Rohit