首頁 >後端開發 >C++ >如何避免 C# 中的「可能的 IEnumerable 多重枚舉」警告?

如何避免 C# 中的「可能的 IEnumerable 多重枚舉」警告?

Linda Hamilton
Linda Hamilton原創
2025-01-04 14:48:40709瀏覽

How Can I Avoid the

處理IEnumerable 多重枚舉的危險

在使用IEnumerable 集合時,開發人員經常會遇到警告「Possible multiple enumeration of IEpleable 」 ,」當集合被迭代多次時就會出現。這個問題可能會產生問題,特別是在處理某些類型的集合時,例如代表資料庫查詢或其他昂貴操作的集合。

考慮以下程式碼片段:

public List<object> Foo(IEnumerable<object> objects)
{
    if (objects == null || !objects.Any())
        throw new ArgumentException();

    var firstObject = objects.First();
    var list = DoSomeThing(firstObject);        
    var secondList = DoSomeThingElse(objects);
    list.AddRange(secondList);

    return list;
}

一種方法避免多重枚舉警告的方法是修改方法參數以接受List;而不是IEnumerable。 List:

雖然這種技術可以有效地防止警告,但它可能會讓人感到尷尬和不必要的冗長。傳遞IEnumerable 參數表示呼叫者預計該方法僅枚舉該集合一次。 ICollection,您可以向呼叫者明確傳達您對集合的期望,從而減少誤解和代價高昂的錯誤的風險。 。和索引器的功能,而無需添加或刪除方法。

以上是如何避免 C# 中的「可能的 IEnumerable 多重枚舉」警告?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn