我试图找到最可重用,但优雅的代码段可能确定是否IEnumerable。理想情况下,这应该是我可以随时调用的一个函数,我需要告诉IEnumerable是否为空。在.NET中,什么是确定IEnumerable是否为空的可靠,优雅,可重用的代码片段?
虽然我已经开发了一个对.NET 3.5的答案,迄今为止我的工作很好,但我目前的想法是,没有完美的答案,因为IEnumerable可以在技术上封装一个集合(或迭代器队列)它迭代时的基础结果,这会导致问题。但是,这也会阻碍实现IEnumerable.Count(),这并不能阻止MS提供它。
所以我想我会把它放在这里看看是否有人有更好的,并在其他人应该找到它有用。
编辑:哇,我不能相信我不知道IEnumerable.Any。我知道它存在,但从不费心检查它做了什么。让这是一个教训。阅读文档。只是因为一个方法名并不意味着它做你想做的事,并不意味着它没有做你想做的事。
哇....真不敢相信,我不知道这件事。谢谢! – 2008-09-22 20:24:37
这是新的.NET 3.5 – Keith 2008-09-22 20:41:02