Unity C#集合
集合分为两种:非泛型集合,泛型集合。
非泛型集合需要引入: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#集合的更多相关文章
- Unity技巧集合
地址:http://blog.csdn.net/stalendp/article/details/17114135 这篇文章将收集unity的相关技巧,会不断地更新内容. 1)保存运行中的状态 uni ...
- Unity 3D Framework Designing(6)——设计动态数据集合ObservableList
什么是 『动态数据集合』 ?简而言之,就是当集合添加.删除项目或者重置时,能提供一种通知机制,告诉UI动态更新界面.有经验的程序员脑海里迸出的第一个词就是 ObservableCollection.没 ...
- Unity应用架构设计(6)——设计动态数据集合ObservableList
什么是 『动态数据集合』 ?简而言之,就是当集合添加.删除项目或者重置时,能提供一种通知机制,告诉UI动态更新界面.有经验的程序员脑海里迸出的第一个词就是 ObservableCollection.没 ...
- 【Unity】JsonUtility解析集合(collections)类型(List)
Unity自带的Json解析工具类JsonUtility居然没有API用于解析集合类型,也太鬼扯了吧. https://stackoverflow.com/questions/36239705/ser ...
- Unity程序协同问题,传送时屏幕变黑变亮的解决,常规操作的行为集合
在unity中运行某段程序时往往需要运行另外一段不相干但是却对功能上有需求的程序,比如进行场景传送,在传送点处,点击I键,屏幕慢慢变黑,场景传送到另外一个场景,场景又慢慢变亮.这里首先涉及两个物体,一 ...
- Unity Sprite Packer 问题集合
介绍 今天突发奇想用了下sprite packer 这个功能,基本用法网上教程一堆一堆的,这里就不赘述了. 在使用sprite packer过程中遇到一些问题,然后各种百度不到答案,最后和谐上网找到了 ...
- 【Unity|C#】基础篇(19)——集合库(Collections)
[学习资料] <C#图解教程>(第6章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu.c ...
- Unity C#最佳实践(上)
本文为<effective c#>的读书笔记,此书类似于大名鼎鼎的<effective c++>,是入门后提高水平的进阶读物,此书提出了50个改进c#代码的原则,但是由于主要针 ...
- 2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合
这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...
随机推荐
- 强大的修图app--美图秀秀
美图秀秀的强大之处 市面上有很多图形处理软件,最专业的是ps,但是ps做起来需要的专业技术很高,而美图秀秀可以说用起来并不需要很专业,操作起来非常方便,而且界面可爱.所以说美图秀秀是一款很好用的免 ...
- 网络安全实验室 注入关通关writeup
URL:http://hackinglab.cn 注入关 [1] 最简单的SQL注入username = admin' or ''='password随便什么都可以直接可以登录 [2] 熟悉注入环境 ...
- 1734: [Usaco2005 feb]Aggressive cows 愤怒的牛
1734: [Usaco2005 feb]Aggressive cows 愤怒的牛 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 217 Solved: ...
- android studio 中的 gradle version
刚开始接触AS,从geithub上download了好多项目,每一个都需要改动,对我这种新手来说,慢慢琢磨吧 问题一: 解决办法: 在build.gradle中,将gradle的版本改正如上图所示即可 ...
- sys模块和Python常用的内建函数
1.sys模块 当Python执行import sys语句的时候,它在sys.path变量中所列目录中寻找sys.py模块.如果找到了这个文件,这个模块的主块中的语句将被运行,然后这个模块将能够被使用 ...
- Windows下GIT安装与使用(上传远程端)
Windows下GIT安装与使用(上传远程服务器) 1. 登陆http://msysgit.github.io/并下载Git 2. 打开下载的exe文件,一路默认(路径可以去修改).有可能电脑需要 ...
- 读headFirst设计模式 - 装饰者模式
继承可以在复用父类代码的情况下扩展父类的功能,但同时继承增加了对象之间的耦合度,所以要慎用继承.那么有没有既能扩展父类的功能,又能使对象间解耦的方法呢?答案是肯定的,这就是我们今天要学习的装饰者模式. ...
- setDefaultCloseOperation()参数得使用说明
System.exit(0)是退出整个程序,如果有多个窗口,全部都销毁退出.setDefaultCloseOperation()是设置用户在此窗体上发起 "close" 时默认执行 ...
- jquery.zclip.js 不起作用
最近有用到复制的这个功能,选用jQuery的插件,正常使用的时候,没有任何问题: $('#copy_mobile_watch_address').zclip({ path: '/dist/plugin ...
- ORACLE 12C 基础
连接到PDB数据库 CMD窗口:sqlplus 用户名/密码@localhost:1521/PDB数据库名 示例:sqlplus xiaozijie/Abc4681101@localhost:1 ...