Вопрос

Нахождение себя в ситуации, когда у меня есть метод с этой подписью

void DoSomething(IEnumerable<T> before, IEnumerable<T> after)

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

Я думал о добавлении трех перегрузок, но это не помогает, когда один из аргументов равен нулю.

Поэтому я подумал, что мог бы просто «обернуть» свой единственный элемент в IEnumerable и отправить его дальше, но я не могу найти в Enumerable ничего, что выглядело бы так, как я хочу (возможно, я не выгляжу достаточно усердно).

Итак, я смотрю на что-то вроде этого

    public static IEnumerable<T> EnumerableUnit<T>(T item)
    {
        if(item != null) yield return item;
    }

Это хорошая идея? Или есть что-то лучшее, чем я должен заниматься?

Это было полезно?

Решение

Это может помочь:

new[]{obj}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top