Использование списков в C#

Я изучаю программную инженерию высшего уровня в классе структур данных и алгоритмов. Наш профессор хочет, чтобы мы написали программу, используя структуру списка, найденную в C++ STL. Я все больше и больше пытался использовать C#, и мне было интересно, является ли структура ArrayList в .NET хорошей заменой реализации STL List.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
1 671
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Вы должны сами ответить на этот вопрос. Какая стратегия реализации используется в списках STL? Что такое ArrayList? Точно так же, что представляет собой абстрактный API, представленный списком STL (с точки зрения предоставляемых операций)? Сравните это со списком STL: что дает один, а другой нет?

если список STL использует шаблоны, вы можете посмотреть на общий класс List в System.Collections.Generic.

Ответ принят как подходящий

Если вы не застряли в .NET 1.1, используйте List<T> вместо ArrayList. Но что вас беспокоит? Предположим, у вас нет List, на который можно сослаться - для чего вам нужна соответствующая структура данных?

Класс 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]);

И да, оба они хорошие заменители. Однако вам следует использовать общий список, поскольку он безопасен по типу и потенциально быстрее.

Гм, C++ STL не имеет структуры под названием «Список». Я думаю, что есть «список», который представляет собой связанный список. Список C#, напротив, аналогичен вектору C++.

Ага, опечатка, означает std :: list <T>

user35288 07.11.2008 04:17

Ближайшим аналогом std :: list в C# является System.Collections.List. Оба являются общими коллекциями и реализуют стандартные действия типа списка.

std::list - это связанный список. Таким образом, гораздо более близкой эквивалентной коллекцией будет System.Collections.LinkedList<T>.
Ben Voigt 10.06.2013 00:47

Спасибо всем

quertie, я ошибся и имел в виду список вместо списка ...

назначение состоит в том, чтобы использовать std :: list для добавления многочленов с использованием списка простых структур, структуры, которая будет содержать коэффициент и мощность x ... достаточно просто, я знаю, но поскольку класс предположительно не зависит от языка, Я хотел попробовать использовать C#

Другие вопросы по теме