Microsoft выпустила "Динамические" и "Статические" формулировки из массивов в C#?
Спустя столько лет, сегодня я решил вернуться к сложному синтаксису, связанному с массивами, и у меня не заняло много времени, пока я не понял, что Microsoft больше не упоминает динамическую сторону массивов, а все примеры являются статическими. Мне буквально нужно было сделать быстрый поиск, чтобы узнать, что они переместили концепцию в новую формулировку как ArrayList Classes или более общие списки как List Classes
Я просто хочу прояснить это изменение и тот факт, что если мне нужно использовать новое именование, чтобы общаться с нашими новыми программистами, так как они могут не обучаться старым соглашениям об именах в университете или онлайн-курсах.
Справочник по MSDN
Класс ArrayList (.NET Framework 4.5)
Реализует
IList
интерфейс с использованием массива, размер которого динамически увеличивается по мере необходимости.
// Creates and initializes a new ArrayList.
ArrayList myAL = new ArrayList();
а также List<T>
как
// Create a list of parts.
List<Part> parts = new List<Part>();
Пожалуйста, прочитайте это, прежде чем идти вперед. Я спрашиваю: если Microsoft исключила СЛОВО из своих глоссариев СЛОВ, касающихся массивов или любых объектов строго типизированных списков, называемых "динамическими массивами".
2 ответа
Да и ArrayList
также эффективно "отброшен" (хотя он все еще существует). Страница, на которую вы ссылались ArrayList
состояния:
Для строго типизированной альтернативы ArrayList рассмотрите возможность использования
List<T>
,
И это именно то, что вы должны сделать. Обобщения (представленные в.NET 2.0) предназначались для устранения проблем, связанных с наличием множества ArrayList со слабой типизацией повсюду. использование List<T>
(или другая универсальная коллекция), когда вам нужна коллекция элементов динамического размера.
В то время как динамический действительно противоположен статическому в английском, верно, что в C# и других подобных языках (таких как Java) общее использование этих терминов изменилось. То, что вы называете массивом неизменной длины, часто называют фиксированным, тогда как расширяемая коллекция, такая как ArrayList
(или лучше List<T>
как указывалось другими) просто называется динамически значительным. Статический теперь чаще используется для выражения концепции членов класса, в то время как динамический часто используется для выражения общего понятия связывания во время выполнения, в отличие от "статического" связывания во время компиляции. Связывание может быть, например, разрешением метода или расширением переменной.