Unity X C#小记之Array/List/Dictionary的杂七杂八

来源:互联网 发布:潍柴网络采购平台 编辑:程序博客网 时间:2024/05/17 03:13

楔子


之前记了一些关于List和其他的琐碎东西,感觉还是差了点什么,

毕竟在教材的第五章里分别解释过Array、List和Dictionary的用法,

这些东西对初学者来说还是比较麻烦的。

而查了一些Blog和Wiki之后也是有一些无法理解的地方,例如

三者所对应的检索,其速度是有区别的,but why?

算了,现在去研究这么深的东西,实在是不敢恭维(;¬_¬)

不管这么多了,先进入主题吧。

注意:个人是零基础学习C#和Unity,在下文可能会有不正确的地方,若有大神指正则是万幸。

材:Learning C# by Developing Games with Unity 3D Beginner's Guide by Terry Norton

Unity版本:5.6.1f1


小记


之前的文章说过建立新的List以及List的录入,但从语法上来讲,还是不够本质。

所以我这次在教材里分别抽出Array、List和Dictionary在建立和录用的例子。

这次小马神教仍然大活跃233


string[] ponyArray = new string[] {"AppleJack","Rarity"};

引用 Learning C# by Developing Games with Unity 3D Beginner's Guide, Page 78,Terry Norton.

List<string> ponyList = new List<string> (){"Princess Cadence","Fluttershy"};

引用 Learning C# by Developing Games with Unity 3D Beginner's Guide, Page 78,Terry Norton.

Dictionary<int,string> ponyDictionary = new Dictionary<int,string> () {{ 10,"Nightmare Moon" },{ 20,"Rainbow Dash" }};

引用 Learning C# by Developing Games with Unity 3D Beginner's Guide, Page 78,Terry Norton.


枚举了三个例子后可以发现,其格式基本是:


数据类型[] 名字 = new 数据类型[]

{

同数据类型的内容A,

同数据类型的内容B,

...,

同数据类型的内容Z

};


或是:


数据结构<数据类型> 名字 = new 数据结构<数据类型>

{

同数据类型的内容A,

同数据类型的内容B,

...,

同数据类型的内容Z

};


或是:


数据结构<数据类型1,数据类型2> 名字 = new 数据结构<数据类型1,数据类型2>

{

{同数据类型1的内容A, 同数据类型2的内容a} ;

{同数据类型1的内容B, 同数据类型2的内容b} ;

...;

{同数据类型1的内容Z, 同数据类型2的内容z}

};


另外,对于使用两种数据类型的函数,需要使用KeyValuePair<TKey,TValue>来提取其中的内容,例如:


using UnityEngine;using System.Collections;using System.Collections.Generic;public class LearningScript : MonoBehaviour {void Start (){Dictionary<int,string> ponyDictionary = new Dictionary<int,string> () {{ 10,"Nightmare Moon" },{ 20,"Rainbow Dash" }};foreach (KeyValuePair<int,string> pony in ponyDictionary) {if (pony.Key == 20)Debug.Log ("I was looking for " + pony.Value);}}}

引用且变体于 Learning C# by Developing Games with Unity 3D Beginner's Guide, Page 78,Terry Norton.


使用foreach完全搜索一次ponyDictionary中的元素,并输出到pony,

此时的元素由于包括Key和Value两个部分。

通过if中pony的Key的值来判断是否输出Debug.Log,

在输出时便会有:


I was looking for Rainbow Dash

UnityEngine.Debug:Log(Object)


就算是成功的了。

阅读全文
0 0
原创粉丝点击