c# MVC XML Record Value

本文关键字:Value Record XML MVC | 更新日期: 2023-09-27 18:25:49

我有一个xml文件:

<profiles>
  <profile username="user4" fullname="Full Name" />
 </profiles>

我正在尝试检索全名的值,以下是我尝试过的:

public List<string> GetFullName(string username)
{
    List<Profile> list = null;
    try
    {
        list = (from t in ProfileList
                where t.UserName == username
                select t).FirstOrDefault();
    }
    catch { }
    List<string> userFullName = new List<string>();
    if (list != null)
    {
        foreach (Profile t in list)
        {
            userFullName.Find(t.FullName);
        }
    }
    return userFullName;
}

FirstOrDefault出现错误
提前谢谢。

c# MVC XML Record Value

FirstOrDefault()是一种扩展方法,这意味着它在概念上与类似

var myList = new List<int>() { };
int myValue = StaticUtilsClass.FirstOrDefault(myList);

现在,如果您查看FirstOrDefault文档,请注意,当您传入null参数时,它会抛出null参数异常。

这意味着

List<int> myList = null;
myList.FirstOrDefault();

将引发异常。

因此,每当您调用x.FirstOrDefault()并遇到问题(即"错误")时,首先要检查的是x(在本例中是您的查询)是否返回null。

从那里,我将看到FirstOrDefault()将返回单个实体,但您将其设置为等于List<Profile>。除非ProfileList是List<Profile>的枚举,否则这也是一个问题。

无论如何,这应该会让你开始。除此之外,了解ProfileList是什么以及它在哪里声明也是很有帮助的。

我宁愿像这个一样重写你的代码

    public String GetFullName(string username)
    {
        var targetObject = (from t in ProfileList
                    where t.UserName == username
                    select t).FirstOrDefault();
        if (targetObject != null) return targetObject.FullName;
        throw new Exception("Target user is not found");
    }