Должен ли.NET IList быть конечным? Предположим, я пишу класс FibonacciList, реализующийIList
Теперь мы реализовали все методы, ожидаемые от IList только для чтения -, кроме Count ().
Это круто или злоупотребление IList?
Числа Фибоначчи быстро становятся непрактично большими (, следовательно, IList
выше ). Ограниченная бесконечная последовательность могла бы быть более разумной, она могла бы реализовать IList
или IList
.
Приложение II :Последовательность Фибоначчи могла быть плохим примером,поскольку вычисление удаленных значений требует больших затрат -, чтобы найти n-е значение, необходимо вычислить все более ранние значения. Таким образом, как сказал Мошмондор, можно также сделать его IEnumerable и использовать .ElementAt
. Однако существуют и другие последовательности, в которых можно быстро вычислить отдаленные значения без вычисления более ранних значений . (Удивительно, что цифры числа пи являются такой последовательностью). Эти последовательности более «листовые», они действительно поддерживают произвольный доступ.
Редактировать :Никто -не возражает против бесконечных IEnumerables. Как они относятся к графу ()?