类的16种预定义类型

16种预定义类型

复杂类型
	string
		字符串是System.String类的一个引用类型,但与其他引用类型不同的是,C#将字符串视为一个基本类型,它可以申请为一个常量,也可以直接给它赋值
	object
		   C#中全部的类都直接或间接继承自System.Object类
	dynmic
简单类型
	数值类型
		整形
			sbyte
			byte
			short
			ushort
				带U表示没有负数
			int
			uint
			long
			ulong
		浮点
			float
			double
			decmial
				decimal 关键字指示 128 位数据类型。 与浮点型相比,decimal 类型具有更高的精度和更小的范围,这使它适合于财务和货币计算。
	非数值类型
		bool
		char
类
	数据成圆
		字段
		常量
			1.常量默认是静态类型,所以不能和static一起使用

2.常量是在编译时计算的,它的表达式中不能包含变量:
如 const int a= b+1; 这样编译不能通过的
如果 const int b=1; const int a=b+1; 这样是正确的
函数成员
构造函数
子主题 1
1、构造函数的名字与类名相同。
2、使用 new 表达式创建类的对象或者结构(例如int)时,会调用其构造函数。并且通常初始化新对象的数据成员。
3、除非类是静态的,否则会为没有构造函数的类,自动生成一个默认构造函数,并使用默认值来初始化对象字段。
4、构造函数可以有参数,可以以多态的形式存在多个构造函数。
都是实例化对象,初始化数据的
析构函数
构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化.
属性
属性(Property) 是类(class)、结构(structure)和接口(interface)的命名(named)成员。类或结构中的成员变量或方法称为 域(Field)。属性(Property)是域(Field)的扩展,且可使用相同的语法来访问。它们使用 访问器(accessors) 让私有域的值可被读写或操作。
方法
选择语句
选择语句用于根据某个表达式的值是否从若干条给定语句中选择一个来执行。
选择语句包括if语句、switch语句。
迭代语句
迭代语句主要用于重复执行嵌入语句,在C#中,常见的迭代语句有while语句、do…while语句、for语句和foreach语句。
跳转语句
跳转语句用于改变程序的执行流程,转移到指定之处。
break
goto
continue
return
throw
命名规范
帕斯卡命名法
与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写
如:public void
DisplayInfo();

          string UserName;
	骆驼命名法
		 printEmployeePaychecks();

print_employee_paychecks();
			   第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。

引用类型
	复杂类型
	类
	接口
		C#接口特点1:都是“虚的”不能被实例化,这也是接口中为什么不能包含字段--成员变量的原因

C#接口特点2:正因为接口是虚的,所以接口内的索引,属性,时间等只能有声明,而不能在接口内实现,具体如何实现是派生接口或者派生类的事.
C#接口特点3:都具有模板的性质,如果一个接口或者类从某一个接口继承,它将自动具有被集成者的特征(包括索引,属性,函数,实践等).
C#接口特点4:接口支持多重继承,而C#中,类之支持单一继承,接口实际表示的是一种承载能力。
委托
从数据结构来讲,委托是和类一样是一种用户自定义类型。
委托是方法的抽象,它存储的就是一系列具有相同签名和返回回类型的方法的地址。调用委托的时候,委托包含的所有方法将被执行。
数组
 数组是一种数据结构,它可以包含同一个类型的多个元素。
值类型
简单类型
枚举
System.Enum 类型是所有枚举类型的抽象基类(它是一种与枚举类型的基础类型不同的独特类型),并且从 System.Enum 继承的成员在任何枚举类型中都可用。
结构体
为了定义一个结构体,您必须使用 struct 语句。struct 语句为程序定义了一个带有多个成员的新的数据类型。
6种用户定义类型

数组
枚举
接口
结构体
委托
动画-Animation-Animator
Animation旧版动画:个人认为用在UI动画很方便,但是如果用在别的地方就不好用了
Animator新版动画:包含 Int Float Bool Float 类型,可以通过编写代码而灵活的控制动画的开始与结束,很方便。播放出来的动画前后连接也十分的流畅
如果使用Animator时,人物挂载不了动画,就需要在检视视图中将人物骨骼弄出来,- - 我上手可以弄出来,但是书面意思说不出来
协程
Startcone…忘了怎么拼了,很方便的东西, - - 很灵活 嗯哼- - 需要一个参数
语句
条件语句:
if else 语句
switch语句case: 表达式 bteak;Default(除非);
循环语句
while语句
检查表达式的值,如果值为true则执行while语句,直到表达式为false或者执行中遇到显式制定的语句时,停止循环。
do while:首先执行循环体中的语句,然后检查bool表达式是否为true。
跳转语句
①break语句: 直接退出整个循环
②continue语句: 立即终止本次循环,但会继续执行下次循环
③goto语句: 跳出循环到已标记好的位置上
④return语句: 退出循环和循环所在的函数
委托
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用语句,同时使得程序具有更好的可扩展性。
匿名委托
只记得是用懒妈打表达式来写- -
单例
一、普通单例
public static A _instance;
_instance=this;
二、常用的单例
private static B _instance;
public static B GetInstance()
{
if (_instance ==null)
{
_instance = new B();
}
return _instance;
}
在内存中,只存在一个实例,减少了内存开销;自行实例化
三、泛型单例
private static T _instance;
public static T GetInstance()
{
if (_instance ==null)
{
_instance = new T();
}
return _instance;
}
面向对象
简单工厂模式:用一个单独的类来做这个创造实例的过程,这就是工厂。
其余的什么观察者模式啦状态模式啦,不了解- -
正则表达式
时间久了 记不住了
生命周期
Awake --> Start --> OnEnable --> Update --> FixedUpdate --> LateUpdate -->OnGUI --> OnDisable -->OnDestroy
awake
被载入时调用
Start
第一次脚本启用Update方法被调用之前调用。
OnEnable
当对象被启用并激活状态时此函数被调用。
Update 在每一帧被调用。
FixedUpdate 处理刚体时 用
LateUpdate 所有Update函数调用后被调用
OnDisable
当物体被销毁时它将被调用
OnDestroy
被调用只会在预先已经被激活的游戏物体上。

猜你喜欢

转载自blog.csdn.net/qq_36725286/article/details/89818063