如何在Enumerable中插入值列表?

时间:2018-11-29 16:55:45

标签: c# ienumerable enumerable

我必须查看IEnumerable中的第一个元素是否等于某个值,如果是,则必须将其更新为新列表

我正在尝试使用类似的东西

if (sequence.First().Equals(value))
        {

            return newValues.Prepend(sequence.Skip(1));

        }

因为我必须是最通用的,但是当我尝试测试此调用时,它只会返回null

1 个答案:

答案 0 :(得分:1)

您无法修改IEnumerable。但是您可以使用这种方法:

// your sample:
IEnumerable<int> sequence = new[] {2, 5, 1};
int value = 2;
IEnumerable<int> newValues = new[] {1, 2, 3};

if (sequence.First() == value)
    return newValues.Concat(sequence.Skip(1)).ToList()
else
    return sequence.ToList();