Я заметил, что массив, в C#, реализует ICollection<T>
. Как массив может реализовать общий интерфейс контейнера, но не быть общим? Можно ли нам сделать то же самое?Arrays vs Generic in C#
Редактировать: Я также хотел бы знать, как массив не является общим, но он принимает любой тип и имеет тип безопасности.
public class ListOfStrings : IList<string>
{
...
}
Это отличный пример, который демонстрирует, что мы можем создать не-дженериков от общего (спасибо MarcinJuraszek !!). Эта коллекция будет зависеть от строк. Я предполагаю, что это не имеет ничего общего с объявлением типа универсального значения строки и является некоторой внутренней проводкой, с которой я не знаком.
Еще раз спасибо!
Массивы уже являются общими - 'int []' определяет массив типа 'int'. Поскольку это встроенный тип, я бы предположил, что существует синтаксический сахар, по существу, «Array» (обратите внимание, что 'Array' отличается от' [] '- это просто пример) –
Rob
Это имеет смысл и это действительно поможет мне подумать об этом в будущем! int [] ~ Array –
Maderas