簡體   English   中英

C#數據結構

[英]C# data structures

我正在用C#構建一個應用程序,但是我對該語言不熟悉,雖然它很容易學習,因為它太類似於Java了。

但是,我對數據結構感到迷茫,因為我沒有找到一個全面可用的數據結構列表,其中包括Java如何使用它們的方法。

任何人都有C#及其方法的可用數據結構的參考列表?

您將在C#中使用的大多數數據結構都包含在System.Collections.Generic命名空間中 System.Collections.Specialized命名空間中有一些很少使用的數據結構。 此外,還有一些較舊的非泛型版本的數據結構,自從System.Collections命名空間中提供的C#2.0中引入泛型以來,這些版本大多已被棄用。

Scott Mitchell有一篇很好的介紹性文章,介紹了.NET中的一些數據結構: 使用C#2.0對數據結構進行了廣泛的檢查

如果您來自Java背景,您會注意到與Java不同,.NET數據結構是以其功能命名的,而不是它們的實現方式。

你會愛上他們的。 結合LINQ的C#數據結構提供了比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可以為您做的完整列表。

您可能會發現這些MSDN頁面很有用: Java開發人員的C#編程語言

與Java Collections一樣,C#具有接口層次結構,包括集合(ICollection),列表(IList)和map(IDictionary)語義。 它將1:1映射到java.util.collections,但java.util.Set除外。 今天C#中沒有任何設置。 ISet應該在.NET 4.0中出現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM