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

非泛型集合需要引入: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. 提交Sublime Text 插件到Package Control

    最近写了一个lua智能提示的插件LuaSmartTips.这个插件一直都是自己一个人在用,昨天突然想把插件提交到Package Control,如果其他的人有这样的需求就可以直接安装. Package ...

  2. hdoj 1257 DP||贪心

    最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  3. js 各进制前缀 及 转换

    二进制前缀0b var a=0b11;//a=3 八进制前缀0 var a=011;//a=9 十进制不用前缀 十六进制前缀0x var a=0x11;//a=17 数字转各进制字符串用num.toS ...

  4. React之ref详细用法

    在react典型的数据流中,props传递是父子组件交互的唯一方式:通过传递一个新的props值来使子组件重新re-render,从而达到父子组件通信.当然,就像react官网所描述的一样,在reac ...

  5. ObjC中的AOP--面向切面编程

    上篇博客我们类比着Java的Spring框架中的依赖注入的实现方式,也试着使用Objective-C来写了一下OC中的依赖注入的实现方式.当然,我们是使用的PList文件来加载的依赖注入时用到的依赖关 ...

  6. tp框架之对列表的一系列操作及跳转页面(详细步骤)

    依旧是在Main控制器里面写类方法,如果想看tp全部的话,可以从前几篇开始看,都是一整个步骤下来的 在控制器中重新写个类 然后再做个shouye.html页面 nation表的数据,将会在shou.h ...

  7. JS事件监听器 addEventListener

    一:例如:给id为mydiv1的div元素添加click事件监听器document.getElementById("mydiv1").addEventListener(" ...

  8. MyBatis:学习笔记(1)——基础知识

    MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ...

  9. 介绍Office 365 中文用户社区 4.0

    本文于2017年3月18日首发于LinkedIn,原文链接在这里 为了给广大用户提供一个可以自由交流.切磋技术的平台,微软和其他一些国际知名的大型软件公司一样,都有创建用户社区(Community,或 ...

  10. java学习笔记 --- 面向对象3

    一.创建对象是做了些什么事情? 图解: 二.static关键字 (1)静态的意思.可以修饰成员变量和成员方法. (2)静态的特点: 1.静态是随着类的加载就加载了.也是随着类的消失而消失了. 2.静态 ...