IEnumerable 可以嗎?集合可以像清單一樣擴充嗎?
IEnumerable;集合表示可能可變或不可變的元素序列。與列表不同,IEnumerable集合本身並不支援項目新增。
嘗試將項目新增至 IEnumerable 時集合,例如在提供的範例中,它實際上效率很低。 ToList() 方法將 IEnumerable 轉換為到 List,允許新增項目。然而,原始的 IEnumerable保持不變,導致集合中只有一個元素。
是否有 items.Add(item) 的替代方案?
不,沒有直接等效項IEnumerable 中的 items.Add(item)。但是,您可以建立一個新的 IEnumerable其中包含原始專案和新專案。此技術依賴 Enumerable.Concat 方法:
items = items.Concat(new[] { "foo" });
登入後複製
此方法建立一個不可變的 IEnumerable ;它包含了原始集合和新增項目中的所有元素。此外,它還確保未來對原始集合的任何變更都會反映在新的 IEnumerable 中。
以上是IEnumerable 集合可以像清單一樣擴充嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!