Однако во многих случаях я обнаруживаю, что мне нужен пустой IEnumerable по умолчанию. То есть мне бы хотелось
Код: Выделить всё
for (var x in xs) { ... }
Код: Выделить всё
var xs = f() ?? new X[0]; // when xs is assigned, sometimes
for (var x in xs ?? new X[0]) { ... } // inline, sometimes
Существует ли в C#/ "пустой неизменяемый IEnumerable/IList" синглтон .NET? (А даже если нет, есть ли «лучший» способ справиться с описанным выше случаем?)
В Java есть Collections.EMPTY_LIST< /code> неизменяемый синглтон — «хорошо типизированный» через Collections.emptyList() — который служит этой цели, хотя я не уверен, что подобная концепция вообще может работать в C#, поскольку обрабатываются дженерики по-другому.
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/855 ... leton-in-c
Мобильная версия