當我枚舉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