使用IEnumerable 時導覽多個枚舉警告
挑戰:
可能的解決方案:
將參數更改為 List 類型可以避開警告但可能會限制對特定物件的存取。在方法開始時將 IEnumerable 轉換為清單可以解決問題,但會帶來尷尬的感覺。建議方法:
使用 IEnumerable 作為參數的主要問題源於其關於預期枚舉數量的模糊性。修改方法簽名以指定 IList 或 ICollection 可以澄清對呼叫者的期望,並防止代價高昂的錯誤。 或者,如果使用 IEnumerable 至關重要,則在方法開始時執行 .ToList() 轉換可能是合適的。但是,這種方法可能比指定更具限制性的參數類型效率低。其他注意事項:
理想的解決方案將涉及一個結合了 IEnumerable 功能的介面、Count 和 Indexer 但不包括變異方法。不幸的是,目前 .NET 中不存在這樣的接口,讓我們根據具體的使用需求權衡每種方法的優缺點。以上是IEnumerable 或 IList:如何避免多重枚舉警告?的詳細內容。更多資訊請關注PHP中文網其他相關文章!