Eu geralmente crio uma sequência de um único valor usando a sintaxe de array, assim:
IEnumerable<string> sequence = new string[] { "abc" };
Ou usando uma nova lista. Gostaria de saber se alguém tem uma forma mais expressiva de fazer a mesma coisa.
Enumerable.From<T>(params T[] items)
.Respostas:
Seu exemplo não é uma sequência vazia, é uma sequência com um elemento. Para criar uma sequência vazia de strings, você pode fazer
EDIT OP esclareceu que eles estavam procurando criar um único valor. Nesse caso
fonte
Eu gosto do que você sugere, mas com o tipo de matriz omitido:
fonte
Task.FromResult
para conseguir isso.Ou ainda mais curto,
Eu faria um método de extensão:
Ou ainda melhor e mais curto, apenas
Talvez seja exatamente isso o que
Enumerable.Repeat
está acontecendo nos bastidores.fonte
Yield
é bom. Eu fizIEnumerable<T> Yield<T>(this T source, params T[] others)
também.ou apenas crie um método
ou
uso:
fonte