从类似的标题中我看到这些可能在c#中是不可用的。因为它们是如此基本和有用,所以它们一定在那里,但可能被称为其他东西。
如果它们可用,它们是否支持排序/搜索/插入/删除/唯一等-通常的算法?
您正在寻找System.Collections.Generic
中的类,以及LINQ to Objects
大多数情况下,这些名称就是您所猜测的名称。System.Collections.Generic
命名空间包含:
-
List
类("矢量"、"列表")- 参见
LinkedList
class
- 参见
-
Queue
class ("queue") -
Stack
class ("stack")
由于它们都实现了IEnumerable<T>
泛型接口,您可以使用Enumerable
类的扩展方法,包括OrderBy
/OrderByDescending
("排序")和Distinct
("唯一")。这三个类中的每一个都提供了自己的特定方法,用于从集合中添加和删除元素。
它们是可用的,更重要的是它们支持Linq的惊人之处。它允许你做很多很多比你在c++ std库中找到的基本算法更酷的事情。
在。net 4.0中,
System.Collections.Generic.Stack<T>
System.Collections.Generic.Queue<T>
和许多其他的
对于这些集合类的常用操作,请在c#代码中添加Using System.Linq;
。