У меня есть следующий запрос LINQ:
List<FileInputItem> inputList = GetInputList();
var results = from FileInputItem f in inputList
where ( Path.GetDirectoryName(f.Folder).ToLower().Trim() == somePath
|| Path.GetDirectoryName(f.Folder).ToLower().Trim() == someOtherPath )
&& f.Expression == null
select f;
Каждый раз, когда этот запрос выполняется, он генерирует исключение NullReferenceException.Если я удаляю условие f.Expression == null
или меняю его на f.Expression != null
, запрос выполняется нормально (конечно, с неверными результатами).
Соответствующие биты FileInputItem
выглядят так:
[Serializable]
public class FileInputItem
{
[XmlElement("Folder")]
public string Folder { get; set; }
[XmlElement("Expression")]
public string Expression { get; set; }
/*SNIP. Irrelevant properties */
}
Я новичок в LINQ для объектов, поэтому я, вероятно, здесь упускаю что-то фундаментальное.В чем дело?