如果XML文件为空,则无法返回int

时间:2014-03-28 16:48:21

标签: c# asp.net xml

尝试为保存在XML文件中的内容设置唯一ID。 现在这是我的代码:

public int getUniqueID()
    {
        var idlist = from ids in connectToXML().Descendants("moviereview")
                      select (int)ids.Element("id");

        int biggestId = idlist.Max();

        if (biggestId< 1 || biggestId.Equals(null))
        {
            return biggestId;
        }
        else
        {
            return biggestId + 1;
        }        
    }

我正在尝试获取一个值,如果ID为null,则在第一次运行时返回0。因为如果我手动向XML文档添加内容然后从ID 1 f.ex开始,我可以使它工作。但是如果XML文件为空,则不会返回值。我忽略了什么吗?

1 个答案:

答案 0 :(得分:2)

使用DefaultIfEmpty()

public int getUniqueID()
{
    var idlist = from ids in connectToXML().Descendants("moviereview")
                  select (int)ids.Element("id");

    int biggestId = idlist.DefaultIfEmpty().Max();
    return biggestId + 1;     
}