Я пытался проверить нуль в моем 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 имеет нулевое значение, поэтому я использовал если условие, чтобы проверить, но это бросает прямо в, если условия.
Может кто-нибудь, пожалуйста, сообщите, что это правильный способ проверить.
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) для себя, пока они не могут ждать –
Спасибо Майкл за полезные ссылки. Я не очень хорошо знал об использовании методов расширения, но теперь получил хорошее понимание :). – Rohit