我正在对 XML 文件执行简单的 Linq 查询
IEnumerable<string> value = from item in myFile.Descendants("ProductName")
select (string)item;
通常(如果我有不止一行)我可以使用 foreach 循环进行迭代:
foreach (string str in value)
{
Console.WriteLine(str);
}
但是如果我确定我只有一项,并且我的方法签名是:
public string getValue()
{
return ?;
}
我应该返回什么(如果我想删除 foreach 循环)?
最佳答案
如果你确定总是只有一个字符串,你可以返回value.Single()
。
更多选项:
如果有多个元素(使用 Single
或 SingleOrDefault
),或者根本没有元素(使用 ),这取决于您是否要引发异常First
或 Single
).
如果你总是只排除一个元素,我会坚持使用 Single() ,因为如果有零个或多个元素,它将抛出异常。
关于c# - 如果 IEnumerable<string> 只返回一个字符串怎么办,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11396551/