2014-09-01 1 views
1

Недавно я заметил, что все массивы в C# наследуют от интерфейса IList, но вы не можете справиться с массивом, как стандартный список.C# и .Net Почему все массивы наследуются от IList?

Почему это наследование введено в .net и C#

+0

Список и массив представляют собой разные структуры данных. Неясно, что вы имеете в виду. – Candide

+1

http://stackoverflow.com/questions/11163297/how-do-arrays-in-c-sharp-partially-implement-ilistt – Donal

+1

Массивы могут реализовывать ** 'IList', они не наследуются от него. – Rotem

ответ

3

Это часто бывает полезно, чтобы иметь возможность пройти любойIList к какому-то алгоритму. Этот алгоритм может просто заботиться о возможности индексирования в эту коллекцию. Многие вещи выполняют это требование: массивы, List<T>, множество пользовательских коллекций.

Смежные вопросы