二,c#的学习
2.1 c#的数据类型
分为 值类型,引用类型
所有类型直接或间接继承自Object基类,每个类型都有自己的默认构造函数
值类型只需要掌握:简单类型,枚举类型(结构类型可了解)
引用类型只需掌握:数组,类(接口和委托可了解)
2.1.1值类型
简单类型:
保留字 | System命名空间中的名字 | 字节数 | 取值范围 |
---|---|---|---|
sbyte | System.Sbyte | 1 | -128~127 |
byte | System.Byte | 1 | 0~255 |
short | System.Int16 | 2 | -32768~32767 |
ushort | System.UInt16 | 2 | 0~65535 |
int | System.Int32 | 4 | -2147483648~2147483647 |
uint | System.UInt32 | 4 | 0~4292967295 |
long | System.Int64 | 8 | |
ulong | System.UInt64 | 8 | 0~18446744073709551615 |
char | System.Char | 2 | 0~65535 |
float | System.Single | 4 | 3.4E-38~3.4E+38 |
double | System.Double | 8 | 1.7E-308~1.7E+308 |
bool | System.Boolean | ( true , false ) | |
decimal | System.Decimal | 16 |
一字节(btye)= 8位(bit),剩下的都是1024的倍率
枚举类型:
// 举例三种状态 休闲,行走,死亡
Public enum PlayerState
{
Idle,
Walk,
Dead
}
2.1.2引用型(数组,类)
数组:
// 创建共有int型数组 numList 以及自定义类型数组
Public int[] numList;
Public Person[] psList;
numList = new int[3]{1,2,3};
//数组初始化
numList[0]的值为1;
numList[1]的值为2;
numList[2]的值为3;
类的概念:
Unity3D中写的每一个脚本都是一个类,类中不但可以包含数据,还可以包含这些数据的方法(函数),类是对数据和数据处理方法的封装
using System;
class Person
{ private string name = "张三"//类的数据成员声明(私有)
private int age = 12;
public void Display()//函数(方法)声明,显示姓名和年龄,Void是无返回值类型
{ Console.WriteLine("姓名:{0},年龄:{1}",name,age);
}
public void SetName(string PersonName)//修改姓名的方法(函数)
{ name = PersonName;
}
public void SetAge(int PersonAge)
{ age = PersonAge;
}
}
命名规范:单词首字母大写,按功能命名
方法中的常用语句:
条件语句
if(hp<0){
//角色死亡
}
if(distance>2){
//进行移动
}else{
//进行攻击
}
if(id == 1){
}
else if(id == 2){
}
循环语句
for(int i = 1; i<10 ; i++){}
//循环遍历,在GameObject类型的golist集合里通过go逐一取出进行循环
foreah(GameObject go in golist){}
while(i<10){
i++;
}
函数的重写,重载
对象:
Person ps = new Person();//使用类
ps.Display();//调用类里的方法(公有的可以调用,私有的不可以)
ps.name = "英雄";就是错的,调用不了
//static的可以直接通过类名调用
public static int id;
Person.id;