Unity学习笔记(三·)

之前学习了基本数据类型,接下来有控制流与集合类型

控制流

其实控制流部分与c++类似,选择语句的if-else语句,switch语句等等就不再赘述了。

集合类型

C#的集合类型与C++还是有所不同。

数组

elementType[] name=new elementType[numberOfElements];
  • 数组变量需要指定所含元素类型,一对方括号,和唯一的名称。
  • new 关键字用于在内存中创建数组。
  • 数组将储存的元素数位于第二个方括号内。
    以下两种代码初始化均有效
int a[]=new int[]{1,2,3};
int b[]={1,2,3};

范围异常

在索引超出数组范围后,控制台会生成一个针对此种情况名为IndexOutOfException的报销

列表

列表与数组密切相关,类似于python内置的列表,具有类似的性质。它在单个变量中收集多个相同类型的值,在添加,删除和更新元素时,列表更容易处理,但元素不是按照顺序储存的,有时会导致比数组更高的性能成本。

List<elementType> name =new List<elementType>();
  • List 关键词,后有一对包含元素类型的尖括号,以及唯一的名称。
  • new 关键字初始化内存,后紧跟一对包含元素类型的尖括号。

与数组一样,可以在声明变量中通过在一对大括号内添加元素值来初始化列表。
常用方法有经典的Add(),Insert(),Remove()。

字典

声明字典与声明列表几乎相同,但增加了一个细节,键和值的类型都需要在尖括号里指定。

Dictionary<keyType,valueType> name=new Dictionary<keyType,valueType>();

要实现初始化字典,请执行以下操作:

Dictionary<keyType,valueType> name=new Dictionary<keyType,valueType>()
{
	{key1, value1},
	{key2, value2}
};

具体方法可以参考python字典。
至此,有关集合的内容告一段落,进入下一个重要的主题:迭代语句。

迭代语句

for循环

类C++,不再赘述。

foreach 循环

foreach循环获取集合中的每一个元素,并将其储存在局部变量中,使其在语句中可以被访问。局部变量类型必须与集合元素类型匹配才能正常工作。
foreach循环可用于数组和列表,但是对于字典尤为有效,因为其不基于数字索引。

foreach(elementType localName in collectionVariable)
{
	code block;
}

要在局部变量中捕获键值对,需要使用KeyValuePair类型,并分配键和值类型以匹配字典的相应类型。

Dictionary<char,int> temp=new Dictionary<char,int>()
{
	{'a',1};
	{'b',2};
	{'c',3}
}
foreach(KeyValuePair<char,int> kvp in temp)
{
	Debug.LogFormat("char:{0}-number {1}",kvp.key,kvp.Value);
}

感觉上也十分类似python的for循环。

while循环

类C++,不再赘述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值