赞
踩
相当于 引用类型 和 值类型
浅拷贝:引用的复制,引用同时指向同一个数据元素
深拷贝:引用不同,创建了新的对象,当改变数据时,相互不影响。
当链表出现环的时候,快指针 会和 慢指针发生碰撞,两者碰撞则证明链表有环。
类相当于猫,对象相当于这只猫
类与类 行为不同(代码的不同)
类与对象 属性不同 (例如相同代码,这个敌人伤害高,那个敌人移动速度快)
抽象方法:is a(是一种)
接口:can do(能够做(这种功能))
抽象类 单继承 接口 多继承
抽象类 可以间接实例化 接口不是类 不能被实例化
抽象方法 必须放到抽象类中
接口的成员 不允许出现访问修饰符 因为本身就是公共的,内部成员的访问级别和接口的访问级别相同
接口 不能有构造函数
十进制转二进制 倒序取余法
主线程执行的过程中,另开一段逻辑并行执行
线性表:有n个数据元素组成的一个有限序列
线性表的顺序结构,叫做顺序表;线性表的链式结构,叫做链表。
封装,继承,多态
单例,简单工厂,抽象工厂。
逻辑结构:
线性结构:有唯一的开始结点和终端结点,开始结点没有前驱,终端结点没有后继,其他的则都存在前驱和后继
存储结构:
线性表的顺序存储: 被称为顺序表,逻辑顺序相邻和物理顺序相邻
线性表的链表存储:被称为链表,通过地址的引用,找到下一个结点的位置
结构体是值类型 类是引用类型
值类型存储在栈中,引用类型的数据存储在堆中,引用存储在内存单元中
栈中的数据是自动释放的,堆中的数据是用GC来释放的
栈的存取速度快,堆的存取速度慢
值类型的继承 valetype,引用类型的继承 object
委托是对某个方法的引用的一种引用类型的变量。回调就是将方法的地址放到委托链上进行调用。
图的深度遍历和广度遍历
时间复杂度:计算机运行一个算法时,程序代码执行的总次数。
空间复杂度:
采用多层次(LOD),压缩自带类库,减少模型的面数,使用预制体(prefab),使用shader,将物体隐藏而并不是将他销毁。
同名的方法在不同的环境下,效果不同
又分为编译时多态,如重载;运行时多态,重写
- class Book
- {
- public string bookName;
- public int bookPage;
- public float bookPrice;
- public DateTime bookTime;
- public string bookAuthor;
-
-
- //构造函数
- // 1.方法名和类名相同
- // 2.构造函数没有任何返回值,及时是void也不行
- // 3.构造函数 可以是无参构造函数 也可以是有参构造函数
- // 4.构造函数 当出现有参构造函数时,需要手动添加无参构造函数
- // 当没有出现有参构造函数时,则默认为系统自动添加了无参构造函数
-
-
-
-
- //有参数的构造方法
- public Book(string name)
- {
- bookName = name;
- }
-
- public Book(string name ,int page)
- {
- bookName = name;
- bookPage = page;
- }
-
- //无参数的构造方法
- public Book()
- {
-
- }
- }
- ——————————————————————————————————————————————————————————————————————————
- class Program
- {
- static void Main(string[] args)
- {
- Book book1 = new Book();
- Book book2 = new Book("十万个为什么?");
- Book book3 = new Book("钢铁是怎么炼成的?", 19);
-
- Console.WriteLine(book1.bookName);
- Console.WriteLine(book1.bookPage);
- Console.WriteLine(book2.bookName);
- Console.WriteLine(book2.bookPage);
- Console.WriteLine(book3.bookName);
- Console.WriteLine(book3.bookPage);
-
- Console.ReadKey();
- }
- }
-
完成一帧所运行的时间。
Awake()→OnEnable()→Start() OnEable()
第一种 Unity自身提供的 PlayerPrefs
第二种 BinaryFormatter 二进制序列化
第三种 保存为json格式的文本文件
第四种 XmlSerializer进行串行化
bit 二进制位
byte 字节
1字节 = 8位 ( 1byte = 8bit )
byte和int类型区别如下: 1、byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。 2、int是整型数据类型,是有符号型的,占用4个字节,大小范围为:-2147483648到2147483647。
int16相当于short 占2个字节 不能够存下
int32相当于int 占4个字节 能够存下
int64相当于long long 占8个字节 能够存下
(1条消息) int16, int32, int64等类型说明_shaoguang_cn的博客-CSDN博客_int32
- var a = 10;
- var b = a;
- b++;
- Console.WriteLine("a" + a);
- Console.WriteLine("b" + b);
-
- var array1 = new int[3] { 1, 2, 3 };
- var array2 = array1;
- array2[0] = 10;
-
- foreach (var item in array1)
- {
- Console.Write(item+" ");
- }
- Console.WriteLine();
- foreach (var item in array2)
- {
- Console.Write(item + " ");
- }
-
- Console.ReadKey();
a = 10 b = 11; array1={10,2,3} array2={10,2,3};
委托是对某个方法引用的一种类型变量
Action 无返回值
Func 有返回值
delegate
()=> 匿名函数
事件是委托。
事件只能在外部进行注册和注销,而事件的声明和清空则是在内部进行执行。
O(n²)
Animator 动画机 Animation 帧动画
接口 单继承 抽象类 多继承
抽象表示有这个概念(比如运输),但不进行执行,需要其子类来实现方法体的内容,比如火车的运输,飞机的运输
不能创建对象,不含有方法体
虚方法对于子类可以选择性实现,本类可以实现
抽象方法在子类中必须实现,在本类不进行实现
继承:是一种(通过:继承)
关联:有一个(简单说 该类中有另一个类)
依赖:该类的方法实现需要包含另一个类才能进行实现
AssetBundle 方便资源的更新,Resource 资源越多,引擎启动时。
GC是为了避免内存溢出而产生的垃圾回收机制
减少new对象的次数,使用公共变量(静态成员),使用stringbuilder
fixedupdate 应用于物理,固定帧执行
update 根据计算机的性能
lateupdate 适用于摄像机,防止人物已经移动了,但是摄像机还没有进行移动。
Awake——OnEnable——Start——fixedUpdate——Update——lateUpdate——OnDisable——OnDestroy
类与对象,对象是类的实例,比如类是猫,则对象是这只猫。
类与类,代码的不同。对象与对象是行为的不同。
面向过程:关心问题解决的步骤
面向对象:关心的是每个对象在做什么
分而治之——将大的模块分解为很多类,每个类处理一个独立的模块
封装变化——对于变化的地方独立封装,避免影响其他模块
高内聚——类的职责单一,只做同一件事情
低耦合——类与类之间相互独立,之间没有过多的联系
同名的方法在不同环境下有不同的实现。
分为编译时多态和运行时多态。
编译时多态表现为重载,运行时多态,表现在重写。
具体实现的方法有:虚函数,抽象类,接口
ref 和 out 传递的都是地址的引用
ref 进行传递时,需要提前进行初始化,而out不需要,但是out从函数体传递出去时,必须在函数体中进行赋值。
Resource下的资源过多,会影响游戏启动的时间。游戏启动时,Resource中的资源不会加载到内存中,而是通过Resource.Load()加载到内存中,但是游戏启动时,会创建一个Resource的索引表,而其索引表会占用内存。
Resource可以默认为一个巨大的AB,有点在于不需要维护,使用方便,缺点则是对更新不友好。
AB对于资源的更新友好,但是管理麻烦,容易造成资源泄露。
欧拉角 在x轴 +-90° 会形成欧拉角死锁
Unity异步加载场景SceneManager.LoadSceneAsync与AsyncOperation的使用_倾恋你的美的博客-CSDN博客_unity异步加载场景
因为lua属于解释型语言,不用编译,在运行时能动态解释Lua代码并运行。(暂时这么理解即可)
TCP/IP的四层模型,Http属于应用层
链路层 网络层 传输层 应用层
图集的定义:图集是只将众多2D的小图整合成一张大图,方便Unity渲染合批,降低渲染消耗。
图集的优势: UI的合批处理,减少DrawCall ;减少内存的使用 ;提升效率
jpg是有损压缩不透明,png是无损压缩透明
字典的底层实现是 数组+单项链表
(5条消息) C# 数据结构 - Dictionary_giantwugui的博客-CSDN博客_c# dictionary 数据结构
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。