当我枚举IEnumerable两次Resharper抱怨Possible multiple enumerations of IEnumerable
。我知道,在枚举两次的情况下,在DB查询的某些情况下,您会遇到异常。如何创建无法枚举多个枚举的IEnumerable <T>?
我想在测试中重现该行为。所以,我基本上要下面的函数抛出(因为多个枚举):
private void MultipleEnumerations(IEnumerable<string> enumerable)
{
MessageBox.Show(enumerable.Count().ToString());
MessageBox.Show(enumerable.Count().ToString());
}
,我应该通过什么呢?所有列表,集合等都可以使用多个枚举。 即使这样的IEnumerable的不给一个例外:
private IEnumerable<string> GetIEnumerable()
{
yield return "a";
yield return "b";
}
感谢。
谢谢,完美的作品:) – Shaddix