7.23
数据类型:
值类型:普通类型(整型,浮点型,布尔型,结构体,枚举)
引用类型:String,字符串,数组,类
引用类型:1.数据的内存(堆区)2.这段内存的引用(地址)
区别:
1.值类型存储在内存栈中,引用类型数据存储在内存堆中,而数据的引用存在内存栈中。
2.栈空间小值类型存储速度快,堆空间大引用类型存储速度慢。
3.值类型系统自动回收,引用类型有垃圾回收机制(GC)回收。垃圾回收机制:当堆区内存无人使用时则回收。
4.值类型继承与System.ValueType,引用类型继承于System.Object
值类型在进行参数传递时为值传递,引用类型我引用传递。 ref:加在实参和形参前面 out:从函数中带出值(在函数中给实参赋值) c#的所有变量字使用前都必须赋值,除out修饰的实参外。
out用法示例(构建射线):
Ray ray = new Ray();
RaycastHit hitInfo;
if(Physic.Raycast(ray,out hitInfo,Mathf.Infinity))
{
//do someting;
}
Invoke(函数名,时间) 相隔多久调用某个函数(只会调用一次)
InvokeRepeating(函数名,第一次调用前等待的时间,相隔多久调用一次):重复调用
isInvoking 是否正在调用
CancelInvoke():取消所有函数的调用
CancelInvoke(String methodName);取消某个函数的调用
c#中的数据结构:
1.数组:缺点大小固定,内存连续,不方便添加删除;
int [][] map = new int[10][10];//定义了一个十行十列的二维数组。
2.ArrayList:数组列表
特点:1.内存连续,可以通过下标访问(this[int index]) 2.大小不固定 3。可以存储不同数据类型的数据。
缺点:频繁的装箱拆箱影响效率 装箱:将值类型转化为引用类型的过程 拆箱:将引用类型转化为值类型的过程
ArrayList arrlist = new ArrayList(); arrlist.Add();//添加元素 arrlist.Remove();//移除元素 int i = (int)arrlist[0];//拆箱
3.List列表
特点:1.内存连续,可以通过下标访问 2.大小不固定 3.只能存储相同数据类型
缺点:不方便添加删除
4.LinkedList:双向链表
特点:1.内存不一定连续,不可以通过下标访问 2.大小不固定 3.只能存储相同数据类型
缺点:不方便访问元素、
7.24
1.String和StringBuilder
String:字符串类(引用类型,在堆上分配内存);做=、+=、-=运算时产生临时的对象保存&#