Параметры:
- Создайте экземпляр класса коллекции, например, массив или список. Это будет изменяемым по умолчанию, что будет немного бесполезно, если это последовательность, которую вы хотите иметь в своем API. Хотя вы можете создать
ReadOnlyCollection<T>
оболочку вокруг такой коллекции.
- Напишите свой собственный блок итератора в соответствии с ответом Botz3000
- Используйте
Enumerable.Repeat(item, 1)
из LINQ, если вы используете .NET 3.5.
Лучший ответ здесь зависит от использования. Если вам нужно только , чтобы вызвать другой метод, который использует последовательность, и вы знаете, что она не будет изменена, я, вероятно, использовал бы массив. Например, чтобы вызвать Concat
для какой-то другой последовательности, вы можете захотеть:
var wholeList = regularList.Concat(new[] { finalValue });
У меня есть уверенность, что Concat
не будет изменять массив, и ничто иное не увидит ссылку на сам массив.
Если вам нужно вернуть последовательность в какой-то другой код, и вы не знаете, что она может с этим делать, я бы, вероятно, использовал Enumerable.Repeat
.