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

本文介绍了Unity中的C#基础知识,特别是Array、List和Dictionary的用法,通过实例展示了它们的创建和操作。针对初学者,文章探讨了这三种数据结构的异同,同时提醒可能存在理解上的难点,如检索速度差异。虽然未深入探究原因,但提供了简单易懂的代码示例。

楔子


之前记了一些关于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)


就算是成功的了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值