Я работаю над улучшением моих навыков на других языках, происходя из использования C++ как мой основной язык программирования. Мой текущий проект прибивает гвоздями C#.net, поскольку я услышал, что это - хороший промежуточный язык для того, кто знает и C++ и VB.net.
Обычно при работе с неизвестным числом элементов в C++ я объявил бы свою переменную как вектор и просто пошел бы оттуда. Векторы, кажется, не существуют в c#, и в моей текущей программе я использовал arraylists вместо этого, но я начинаю задаваться вопросом - ли это хорошая привычка использовать arraylists, поскольку я считал где-нибудь, что это был перенос от .net 1.0
Долгий короткий вопрос - каков обычно используемый тип списка для c#?
Краткий ответ: список
. Вы можете найти документы здесь .
Если вы нацеливаете версии Pre .Net 2.0, используйте ArrayList
, если вы нацеливаете .NET 2.0+, затем используйте универсальный тип Список
Вы можете Нужно найти замены для других стандартных контейнеров C ++, поэтому вот возможно отображение C ++ к .NET 2.0+ аналогичных типов или эквивалентов:
std::vector - List<T>
std::list - LinkedList<T>
std::map - Dictionary<K, V>
std::set - HashSet<T>
std::multimap - Dictionary<K, List<V>>
Я бы порекомендовал вам исследовать пространство имен System.Collections, особенно System.Collections.generics Набор объектов. Встроенные функциональные возможности могут быть сильно напечатаны по различным спискам, словарям и на NOMPALuEcollections, чтобы предоставить вам широкий спектр возможностей. Они также расширяются, поэтому, если они не делают именно то, что вам нужно, вы просто расширяете их и добавляете новую функциональность.
, который был бы список
, я полагаю. ArrayList
- нередный тип и - как вы правильно соблюдаете - оставшийся от .NET 1 раз. Начиная с .NET 2 Вы можете использовать универсальные и, следовательно, список
.
Краткий ответ: Список
. Вы можете найти документы здесь .