У меня есть выражение LinqToXML, в котором я пытаюсь выбрать разные имена на основе похожих атрибутов.Код работает отлично, и я поместил его ниже:
var q = xmlDoc.Element("AscentCaptureSetup").Element("FieldTypes")
.Descendants("FieldType")
.Select(c => new { width = c.Attribute("Width").Value,
script = c.Attribute("ScriptName").Value,
sqlType = c.Attribute("SqlType").Value,
enableValues = c.Attribute("EnableValues").Value,
scale = c.Attribute("Scale").Value,
forceMatch = c.Attribute("ForceMatch").Value,
forceMatchCaseSensitive = c.Attribute("ForceMatchCaseSensitive").Value,
sortAlphabetically = c.Attribute("SortAlphabetically").Value,
})
.Distinct();
Проблема возникает из-за того, что требуются не все атрибуты, и если один из них пропущен, например, sortAlphabetically , Я получаю объект не ссылка ссылка.Имеет смысл, но есть ли способ изменить запрос, чтобы использовать только назначить новые значения, если атрибут действительно существует?(Тем самым обходя любые ошибки нулевого указателя)