add item to ienumerable c#

在 C# 中,IEnumerable 是一个表示可枚举集合的接口,它只提供了一个用于迭代集合元素的方法 GetEnumerator()。由于 IEnumerable 是只读的,我们不能直接向其添加或删除元素。但是,我们可以通过实现另一个接口 ICollection 来使其支持添加操作。

以下是向一个 IEnumerable 类型的集合中添加元素的两种方法:

方法一:将 IEnumerable 转换为 List

我们可以使用 ToList() 方法将 IEnumerable 集合转换为 List 类型的集合,然后在 List 中添加元素。最后再将 List 转换回 IEnumerable 类型的集合即可。

IEnumerable<int> enumerable = new List<int> { 1, 2, 3 };
List<int> list = enumerable.ToList();
list.Add(4);
enumerable = list;

方法二:使用 yield return 添加元素

我们可以在一个新的方法中使用 yield return 语句来生成新的元素并添加到原始的 IEnumerable 集合中。

static IEnumerable<int> AddElement(IEnumerable<int> enumerable, int elementToAdd)
    foreach (int item in enumerable)
        yield return item;
    yield return elementToAdd;
IEnumerable<int> enumerable = new List<int> { 1, 2, 3 };
enumerable = AddElement(enumerable, 4);

这两种方法都可以用于向 IEnumerable 集合中添加元素。需要根据具体情况选择使用哪种方法。

  •