如果我的.net代码中有一个包含单个元素的IEnumerable对象,那么在检查IEnumerable确实只包含一个元素时,将IEnumerable转换为单个对象的最佳方法是什么?
以下是一些想法:
IEnumerable<string> strings = getStrings();
if (string.Count() != 0 ) throw new Exception();
else return strings.First();
return getStrings().Single(x => true);
答案 0 :(得分:2)
如果你的目标是提出异常,你可以使用:
return getStrings().Single();
如果枚举中有多个字符串,则会自动引发InvalidOperationException
。