Использование списков в C #
Вопрос
Я учусь на высшем уровне по разработке программного обеспечения в настоящее время в классе структур данных и алгоритмов. Наш профессор хочет, чтобы мы написали программу, используя структуру List, найденную в C ++ STL. Я пытался использовать C # все больше и больше, и мне было интересно, является ли структура ArrayList в .NET хорошей заменой реализации списка STL. Р>
Решение
Если вы не застряли с .NET 1.1, используйте List<T>
вместо ArrayList
. Но что вас в основном беспокоит? Предположим, у вас нет Списка, на который можно сослаться - для чего вам нужна соответствующая структура данных?
Другие советы
Вы должны быть в состоянии ответить на этот вопрос самостоятельно. Какая стратегия реализации используется в списках STL? Что такое ArrayList? Аналогично, что представляет собой абстрактный API, представленный списком STL (с точки зрения предоставленных операций)? Сравните это со списком STL: что одно дает, а другое нет?
если в списке STL используются шаблоны, вы можете посмотреть общий класс List в System.Collections.Generic.
Хм, C ++ STL не имеет структуры с именем " List " ;. Я думаю, что есть & Quot; list & Quot ;, который является связанным списком. Список C #, напротив, аналогичен вектору C ++.
Класс ArrayList несколько устарел. Это из .NET 1.0 раз, когда дженерики еще не существовали.
Вместо этого вы должны использовать System.Collections.Generic.List. Вот так:
List<int> myList = new List<int>();
myList.Add(1);
myList.Add(2);
System.Console.WriteLine(myList[0]);
И да, оба они являются хорошими заменителями. Вам следует использовать общий список, поскольку он безопасен и потенциально быстрее.
Спасибо всем
вопрос, я опечатал и имел ввиду список вместо списка ...
назначение состоит в том, чтобы использовать std :: list для добавления полиномов, используя список простых структур, структуру, которая будет содержать коэффициент и степень x ... достаточно легко, я знаю, но так как класс предположительно является языковым независимо от того, я хотел попробовать использовать c #
Ближайшим аналогом C # списка std :: list является System.Collections.List. Оба являются общими коллекциями и реализуют стандартные действия типа списка.