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出现错误
提前谢谢。
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");
}