linq query and nulls



我想用linq查询一些xml文件。有一些必需元素和一些可选元素。唯一需要的是名称,其他的都是可选的。如果有一些NULL,例如cageCode=NULL-它没有选择任何内容-我需要添加到字符串列表中-"-我试过下面的方法,但它不起作用。当我把所有的东西都填好了,它就可以正常工作,当有空的东西时,它不会保存来列出任何东西。你能帮我如何设置"来列出null元素的位置吗?谢谢

var queryManufacturer = from dataManufaturer in input.Identification.Manufacturers.Manufacturer
                                                select
                                                new
                                                { 
                                                    dataManufaturer.name,
                                                    dataManufaturer.cageCode,
                                                    dataManufaturer.FaxNumber,
                                                    dataManufaturer.URL.OriginalString
                                                };
                foreach (var a in queryManufacturer)
                {
                    data.Add(a.name);
                    if (a.cageCode == null) data.Add("");
                    else data.Add(a.cageCode);
                    if (a.FaxNumber == null) data.Add("");
                    else data.Add(a.FaxNumber);
                    if (a.OriginalString == null) data.Add("");
                    else data.Add(a.OriginalString);
                }

如果xml文件中的一些元素丢失,它会向我抛出一个null异常-我不想得到这个异常-我只想在丢失的元素

旁边添加空字符串

在您的Linq-to-XML查询中尝试此操作:

select new
{ 
  name = dataManufaturer.name ?? "",
  cageCode = dataManufaturer.cageCode ?? "",
  FaxNumber  = dataManufaturer.FaxNumber  ?? "",
  OriginalString = dataManufaturer.URL!=null ?  dataManufaturer.URL.OriginalString : ""
};

相关内容

  • 没有找到相关文章

最新更新