Как вставить список значений в Enumerable? - PullRequest
0 голосов
/ 29 ноября 2018

Мне нужно посмотреть, равен ли первый элемент в моем IEnumerable определенному значению, и если да, мне нужно обновить его до нового списка.

Я пытаюсь использовать что-то подобное

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

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

        }

, потому что я должен быть наиболее универсальным из возможных, но когда я пытаюсь проверить этот вызов, он просто возвращает ноль

1 Ответ

0 голосов
/ 29 ноября 2018

Вы не можете изменить 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();
...