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等) ...
随机推荐
- observe.js 源码 学习笔记
/** * observejs --- By dnt http://kmdjs.github.io/ * Github: https://github.com/kmdjs/observejs * MI ...
- Search a 2D Matrix leetcode
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...
- javascript继承--原型链的 继承
作者的话:原型链是JavaScript中相当重要的一个知识点,这里我使用了函数结构图,来帮助我更好的理解 /* 原型链继承方式: 通过改变一个对象的原型对象的指向来继承另一个对象 原理: 我们知道,一 ...
- git中常见的几个命令
git中常见的几个命令 本地仓库 三个区域 工作目录 暂存区 本地仓库 文件的四个状态 未跟踪 untracked 已暂存 staged 已提交commited 已修改 modified 基本命令 g ...
- String及其常用API
String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因 ...
- Apache网页的缓存时间
配置网页缓存时间概述 通过mod_expires模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求,减轻服务端工作压力. 启用mod_expires模块后,会自动生成页面头部信息 ...
- JDBC(上)
1. 课程回顾 mysql加强 1)数据约束(表约束) 默认值: default 默认值 非空: not null 唯一: unique 主键: primary key (非空+唯一) 自增长: ...
- Python 爬取qqmusic音乐url并批量下载
qqmusic上的音乐还是不少的,有些时候想要下载好听的音乐,但有每次在网页下载都是烦人的登录什么的.于是,来了个qqmusic的爬虫. 至少我觉得for循环爬虫,最核心的应该就是找到待爬元素所在ur ...
- Ubuntu14.04下CUDA7.5安装与配置
一.下载: 在官网上下载cuda toolkit(所有需要安装都在里面包括驱动 toolkit Samples)下载网址: https://developer.nvidia.com/cuda-down ...
- bcache 状态/配置 文件详细介绍
什么是bcache bcache是linux内核块层cache.它使用类似SSD来作为HDD硬盘的cache,从而起到加速作用. HDD硬盘便宜并且空间更大,SSD速度快但更贵.如果能两者兼得,岂不快 ...