c# - 如果 IEnumerable<string> 只返回一个字符串怎么办

标签 c# xml visual-studio-2010 linq ienumerable

我正在对 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()

更多选项:

如果有多个元素(使用 SingleSingleOrDefault),或者根本没有元素(使用 ),这取决于您是否要引发异常FirstSingle).

如果你总是只排除一个元素,我会坚持使用 Single() ,因为如果有零个或多个元素,它将抛出异常。

关于c# - 如果 IEnumerable<string> 只返回一个字符串怎么办,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11396551/

相关文章:

c# - 如果从 View 中删除 Editortemplates 项目,MVC 表单提交将返回 null

java - 获取 xml 中处理指令标记内的数据

visual-studio-2010 - 使用 Visual Studio 2010 数据库项目填充静态数据的最佳实践?

java - 为什么我的 R 文件丢失?在一个全新的项目上。

c# - DLL 加载时出现 BadImageFormatException 且 Provider 未在本地计算机上注册问题

visual-studio-2010 - 如何在 Visual Studio 2010 中转到输出的第一行?

c# - 为什么使用带有 char 数组的字符串构造函数作为常量?

C# Lists : initialize with size, 为什么在 .Add() 之后不能使用 [] 访问?

c# - Keyboard.GetKeyStates 误报,我如何真正知道是否按下了某个键?

c# - Linq-to-XML 查询以根据附加条件选择特定子元素