Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 将单个元素IEnumerable转换为单个元素的最佳方法?_.net_Ienumerable - Fatal编程技术网

.net 将单个元素IEnumerable转换为单个元素的最佳方法?

.net 将单个元素IEnumerable转换为单个元素的最佳方法?,.net,ienumerable,.net,Ienumerable,如果在.net代码中有一个IEnumerable对象包含一个元素,那么在检查IEnumerable是否确实只包含一个元素时,将IEnumerable转换为单个对象的最佳方法是什么 以下是我想到的几个想法: IEnumerable<string> strings = getStrings(); if (string.Count() != 0 ) throw new Exception(); else return strings.First(); return getStrings(

如果在.net代码中有一个IEnumerable对象包含一个元素,那么在检查IEnumerable是否确实只包含一个元素时,将IEnumerable转换为单个对象的最佳方法是什么

以下是我想到的几个想法:

IEnumerable<string> strings = getStrings();
if (string.Count() != 0 ) throw new Exception();
else return strings.First();

return getStrings().Single(x => true);
IEnumerable strings=getStrings();
如果(string.Count()!=0)抛出新异常();
else返回字符串。First();
返回getStrings().Single(x=>true);

如果您的目标是以任何方式引发异常,您可以使用:

return getStrings().Single();

如果枚举中有多个字符串,这将自动引发
InvalidOperationException

谢谢!不知怎么的,我觉得你可以调用
.Single()
,而无需任何参数。当然,我会看看。有时,当我有一个没有正确答案的问题时,我会在回答中说明我是如何解决问题的,或者将该问题标记为需要删除。