集合分为两种:非泛型集合,泛型集合。

非泛型集合需要引入:System.Collections命名空间,其命名空间下的类有:

ArrayList表示大小根据需要动态增加的对象数组。

Hashtable表示根据键的哈希代码进行组织的键/值对的集合。

Queue表示对象的先进先出(FIFO)集合。

Stack表示对象的后进先出(LIFO)集合。

Stack  stack=new  Stack();

Stack<int>  stack=new  Stack<int>();

泛型集合需要引入:System.Collection.Generic命名空间,其命名空间下的类有:

Dictionary<TKey,TValue>表示根据键进行组织的键/值对的集合。

Dictionary<string,int>  dic=new  Dictionary<string,int>();

List<T>表示可根据索引访问对象的列表。提供用于对列表进行搜索,排序和修改的方法

Queue<T>表示对象的先进先出集合

SortedList<TKye,TValue>

表示根据键进行排序的键/值对的集合,而键基于的是相关 IComparer<T>实现

Stack<T>表示对象的后进先出集合

我要……

泛型集合选项

非泛型集合选项

线程安全或不可变集合选项

将项存储为键/值对以通过键进行快速查找

Dictionary<TKey, TValue>

Hashtable

(根据键的哈希代码组织的键/值对的集合。)

System.Collections.Concurrent.ConcurrentDictionary<TKey, TValue>

System.Collections.ObjectModel.ReadOnlyDictionary<TKey, TValue>

ImmutableDictionary(TKey, TValue) 类

按索引访问项

List<T>

System.Array

System.Collections.ArrayList

ImmutableList(T) 类

ImmutableArray 类

使用项先进先出 (FIFO)

Queue<T>

Queue

System.Collections.Concurrent.ConcurrentQueue<T>

ImmutableQueue(T) 类

使用数据后进先出 (LIFO)

Stack<T>

Stack

System.Collections.Concurrent.ConcurrentStack<T>

ImmutableStack(T) 类

按顺序访问项

LinkedList<T>

无建议

无建议

删除集合中的项或向集合添加项时接收通知。 (实现 INotifyPropertyChanged 和 System.Collections.Specialized.INotifyCollectionChanged)

System.Collections.ObjectModel.ObservableCollection<T>

无建议

无建议

已排序的集合

System.Collections.Generic.SortedList<TKey, TValue>

System.Collections.SortedList

ImmutableSortedDictionary(TKey, TValue) 类

ImmutableSortedSet(T) 类

数学函数的一个集

System.Collections.Generic.HashSet<T>

System.Collections.Generic.SortedSet<T>

无建议

ImmutableHashSet(T) 类

ImmutableSortedSet(T) 类

Unity C#集合的更多相关文章

  1. Unity技巧集合

    地址:http://blog.csdn.net/stalendp/article/details/17114135 这篇文章将收集unity的相关技巧,会不断地更新内容. 1)保存运行中的状态 uni ...

  2. Unity 3D Framework Designing(6)——设计动态数据集合ObservableList

    什么是 『动态数据集合』 ?简而言之,就是当集合添加.删除项目或者重置时,能提供一种通知机制,告诉UI动态更新界面.有经验的程序员脑海里迸出的第一个词就是 ObservableCollection.没 ...

  3. Unity应用架构设计(6)——设计动态数据集合ObservableList

    什么是 『动态数据集合』 ?简而言之,就是当集合添加.删除项目或者重置时,能提供一种通知机制,告诉UI动态更新界面.有经验的程序员脑海里迸出的第一个词就是 ObservableCollection.没 ...

  4. 【Unity】JsonUtility解析集合(collections)类型(List)

    Unity自带的Json解析工具类JsonUtility居然没有API用于解析集合类型,也太鬼扯了吧. https://stackoverflow.com/questions/36239705/ser ...

  5. Unity程序协同问题,传送时屏幕变黑变亮的解决,常规操作的行为集合

    在unity中运行某段程序时往往需要运行另外一段不相干但是却对功能上有需求的程序,比如进行场景传送,在传送点处,点击I键,屏幕慢慢变黑,场景传送到另外一个场景,场景又慢慢变亮.这里首先涉及两个物体,一 ...

  6. Unity Sprite Packer 问题集合

    介绍 今天突发奇想用了下sprite packer 这个功能,基本用法网上教程一堆一堆的,这里就不赘述了. 在使用sprite packer过程中遇到一些问题,然后各种百度不到答案,最后和谐上网找到了 ...

  7. 【Unity|C#】基础篇(19)——集合库(Collections)

    [学习资料] <C#图解教程>(第6章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu.c ...

  8. Unity C#最佳实践(上)

    本文为<effective c#>的读书笔记,此书类似于大名鼎鼎的<effective c++>,是入门后提高水平的进阶读物,此书提出了50个改进c#代码的原则,但是由于主要针 ...

  9. 2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

    这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...

随机推荐

  1. Rotate Array leetcode

    Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the array  ...

  2. 无线同步模块SYN1000在电力监测相位测量领域的应用方案

    在电力监测领域,出于安全考虑,有些系统不得不采用无线通信的方式,在这样一个无线通信的应用系统,该如何来控制多个设备进行同步采样,以期提高相位角的测量精度,是一个不小的难题. 很多技术人员习惯性的采用无 ...

  3. sass学习笔记 -- sass的四种编译方法

    sass的四种编译方法:(.scss) (一)ruby下的命令行编译 首先需要安装ruby,注意需勾选Add Ruby executables to your PATH选项,以添加环境变量. ruby ...

  4. windows系统解决github.com访问超时

    当github无法访问时,可以尝试在hosts文件中添加下面的内容 windows:c:\windows\system32\drivers\etc 192.30.252.131 https://git ...

  5. python生成二维码

    1.python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库. 首先,我们要安装三个模块,qrcode,image,PIL. pip install  q ...

  6. Linux之nc命令详解

    nc是一个强大的网络工具,可以通过yum安装 [root@LB2 ~]# which nc /usr/bin/which: no nc in (/usr/local/sbin:/usr/local/b ...

  7. pyqt4实现tab界面切换

    (转:https://segmentfault.com/q/1010000005143428)

  8. python安装图文教程---超详细。。。不过是转的,但有改动

    如果你已安装好python,想安装第三方模块,方法详见如下地址: python安装第三方模块教程----marsggbo 1.想要安装Python,首先当然是去Python的官方网站(www.pyth ...

  9. if与switch的性能比较

    前言 之前学习Java时,遇到了个问题,有点纠结.当if与switch都实现相同的功能时,该改采用哪种方法实现?我并不懂得如何准确测量两者之间的性能区别,便在OlineJudge上找条该类型的题,来测 ...

  10. 存储linux RAID6被重建成RAID5的数据恢复解决方案

    数据恢复故障描述:原存储为12块2T硬盘组成的Linux RAID6,文件系统均为EXT3,此存储上划有3个LUN,每个均为6TB大小,某天在RAID失效后,维护人员为了抢救数据,对此失效的存储重进行 ...