2009-10-29 57 views
1

我是C#的新手。在ASP.NET 3.5(C#3.0)中工作。为了开发有效的代码,我需要熟悉哪些集合类?像IList,还有对应的IList<T>List,List<T>够了吗?收藏集 - 要记住的项目

非常感谢大家,给我一个很好的指导。

回答

7
List<T>

除了和Dictionary<TKey, TValue>我还要催促你熟悉IEnumerable<T>接口(以及它周围的扩展方法),首先,露出IEnumerable<T>作为第一手选择的习惯,直到它被证明你需要从方法中返回一个“更丰富”的接口。

0

每个系列都有其优点和用途。我发现我最常使用List<T>Dictionary<TKey, TValue>。只要知道这两点,你就可以相当有效。

然而,要达到最有效的效果,您应该至少熟悉所有这些目的,以便您可以选择正确的目标。例如,你的收藏是否代表了一系列要做的事情?或者是堆栈?一个Item的价值是否也作为它的身份,你有很多它们,你需要快速检索它们,那么Hashset可能就是你需要的。

0

你需要熟悉哪些取决于你需要做什么。

如果你想了解收集类,然后检查出System Collections page on MSDN

在我看来,很好地了解实现ICollection,IDictionary,IEnumerable和IList的所有内容。

0

Dictionary<K,V> and OrderedDictionary<K,V>对于存储强类型键值对是很有用的。

1

大多数时候我坚持使用List<>Dictionary<>,但随着LINQ to Objects的推出,我发现我很少需要实例化这些类。我也通过我的名单作为IEnumerable<>更多。

有关可用收藏的完整摘要,请参阅Commonly Used Collection Types

0

新集类HashSet<T>它实现ICollection<T>,并为Add(...)返回false,如果您要添加预先存在的价值,也是一个很好的一个工具盒