Подтвердить что ты не робот

Структуры данных С#

Я создаю приложение на С#, но я новичок в этом языке, хотя его довольно легко узнать, потому что его слишком чертовски похожи на Java.

Тем не менее, я теряюсь в структурах данных, так как я не нашел список всеобъемлющих доступных структур данных с их методами, например, как у них есть Java.

У кого-нибудь есть список ссылок доступных структур данных для С# и их методов?

4b9b3361

Ответ 1

Большинство структур данных, которые вы будете использовать в С#, содержатся в пространстве System.Collections.Generic. Существуют редко используемые структуры данных в System.Collections.Specialized namespace. Кроме того, существуют некоторые более старые, не общие версии структур данных, которые в большинстве случаев не рекомендуются с момента введения генериков в С# 2.0, доступных в пространстве имен System.Collections.

У Скотта Митчелла есть хорошая вводная статья, посвященная некоторым структурам данных в .NET: Обширная проверка структур данных с использованием С# 2.0.

Если вы исходите из фона Java, вы заметите, что в отличие от Java, структуры данных .NET называются после их функции, а не так, как они реализованы.

Ответ 2

Ты полюбишь их. Структуры данных С# в сочетании с LINQ предлагают гораздо больше, чем Java. Проверьте System.Collections.Generic пространство имен. Важно отметить, что почти любая коллективная коллекция реализует IEnumerable <T> интерфейс так или иначе, и вы можете LINQ к любому IEnumerable <T> Объект:

List<SomeClass> yourList = new List<SomeClass>();
// Add elements ...
var redElementsOnly = yourList.Where(e => e.IsRed);

Просмотрите System.Linq.Enumerable класс для полного списка того, что LINQ может сделать для вас.

Ответ 4

Как и сборники Java, С# имеет иерархию интерфейсов, которая включает в себя коллекции (ICollection), списки (IList) и карту (IDictionary). Он отображает 1:1 на java.util.collections, за исключением java.util.Set. На С# сегодня нет. Предполагается, что ISet будет в пути в .NET 4.0.