2011-11-29 19 views
6

De los títulos similares que veo estos probablemente no estén disponibles en C#. porque son tan básicas y útiles que deben estar allí, pero probablemente se llamen otra cosa.C# containers - vector ,. lista, cola, pila, etc.

En caso de que estén disponibles, ¿son compatibles con sort/search/insert/delete/unique etc. - los algoritmos habituales?

Respuesta

9

Está buscando las clases en System.Collections.Generic, así como LINQ to Objects.

2

Están disponibles, y lo que es más, admiten la AWESOMENESS de Linq. Lo que le permite hacer mucho más cosas interesantes que solo los algoritmos básicos que encuentra en la biblioteca estándar de C++.

0

En .NET 4.0, tienen

System.Collections.Generic.Stack<T> 
System.Collections.Generic.Queue<T> 

y muchos otros.

Para operaciones comunes en estas clases de colección, agregue Using System.Linq; a su código C#.

+0

Las colecciones genéricas han estado disponibles desde el marco 2.0. No necesita LINQ para las operaciones comunes en las clases de colección. Solo necesita eso si desea usar LINQ o los métodos de extensión LINQ en ellos. – Guffa

3

Los nombres son, en su mayor parte, lo que usted supone que son.

De MSDN:

System.Collections.Generic namespace:

Ya que a ll implementar el IEnumerable generic interface, puede usar los métodos de extensión del Enumerable class con ellos, incluyendo OrderBy/OrderByDescending ("ordenar") y Distinct ("único"). Cada una de las tres clases proporciona sus propios métodos específicos para agregar y eliminar elementos de la colección.