Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#数据结构_C# - Fatal编程技术网

C#数据结构

C#数据结构,c#,C#,我正在用C#构建一个应用程序,不过我对这门语言还不太熟悉,虽然它很容易学习,因为它太像Java了 然而,我对数据结构感到迷茫,因为我还没有找到一个全面的可用数据结构列表,以及它们的方法,比如Java是如何拥有它们的 任何人都有C#及其方法可用数据结构的参考列表吗?您将在C#中使用的大多数数据结构都包含在中。中有一些很少使用的数据结构。此外,还有一些较旧的、非泛型的数据结构版本,由于在C#2.0中引入了泛型,这些版本大多已被弃用 Scott Mitchell有一篇很好的介绍性文章,介绍了.NET中

我正在用C#构建一个应用程序,不过我对这门语言还不太熟悉,虽然它很容易学习,因为它太像Java了

然而,我对数据结构感到迷茫,因为我还没有找到一个全面的可用数据结构列表,以及它们的方法,比如Java是如何拥有它们的


任何人都有C#及其方法可用数据结构的参考列表吗?

您将在C#中使用的大多数数据结构都包含在中。中有一些很少使用的数据结构。此外,还有一些较旧的、非泛型的数据结构版本,由于在C#2.0中引入了泛型,这些版本大多已被弃用

Scott Mitchell有一篇很好的介绍性文章,介绍了.NET中的一些数据结构:


如果您来自Java背景,您会注意到,.NET数据结构不同于Java,它是以功能命名的,而不是以实现的方式命名的。

与Java集合一样,C#有一个接口层次结构,包括集合(ICollection)、列表(IList)和映射(IDictionary)语义。它将1:1映射到java.util.collections,但java.util.Set除外。今天的C#没有布景。在.NET4.0中,我应该已经准备好了。

你会喜欢它们的。C#数据结构与LINQ的结合提供了比Java更多的功能。检查名称空间。一个重要的注意事项是,几乎所有泛型集合都以某种方式实现了接口,您可以LINQ到任何IEnumerable对象:

List yourList=新列表();
//添加元素。。。
var redElementsOnly=yourList.Where(e=>e.IsRed);

查看课程,获取LINQ可以为您做什么的完整列表。

您可能会发现这些MSDN页面非常有用:

您是在寻找基于场景的数据结构(客户、产品、书籍)还是非常通用的数据结构(树、列表、字典)?请看
List<SomeClass> yourList = new List<SomeClass>();
// Add elements ...
var redElementsOnly = yourList.Where(e => e.IsRed);