随笔分类 -  Csharp

摘要:public class L2 : MonoBehaviour { // Start is called before the first frame update void Start() { //设置纹理类型主要是为了指明图片是用于哪项工作的 //相关参数 //Default - Alpha S 阅读全文
posted @ 2025-03-26 19:13 cannedmint 阅读(58) 评论(0) 推荐(0)
摘要:迭代器 迭代器是程序设计的软件设计模式 迭代器模式提供一个方法顺序访问一个聚合对象中的各个元素而不暴露其内部的标识 在表现效果上看是可以在容器对象上遍历访问的接口 设计人员无需关心容易对象内存分配的实现细节 可以用foreach遍历的类都是实现了迭代器的 标准迭代器的实现方法 //关键接口:IEnu 阅读全文
posted @ 2025-03-14 20:47 cannedmint 阅读(60) 评论(0) 推荐(0)
摘要:特性 特性是一种允许我们向程序的程序集添加元数据的语言结构 特性本质是一个类,可以利用特性类为元数据添加额外信息 自定义特性 //继承特性基类 class MyCustomAttribute : Attribute { //特性中的成员,一般根据需求来写 public string info; pu 阅读全文
posted @ 2025-03-14 19:55 cannedmint 阅读(21) 评论(0) 推荐(0)
摘要:Activator 用于快速实例化对象的类 用于将Type对象快捷实例化为对象 先得到Type然后快速实例化一个对象 //无参构造函数 Type testType = typeof(Test); Test testObj =Activator.CreateInstance(testType) as 阅读全文
posted @ 2025-03-14 18:15 cannedmint 阅读(25) 评论(0) 推荐(0)
摘要:反射的概念 程序正在运行时,可以查看其他程序集或者自身的元数据 一个运行的程序查看本身或者其他程序元数据的行为就叫反射 反射的作用 反射可以在程序编译后获得信息,提高程序的拓展和灵活性 class Test { private int i =1; public int j =0; public st 阅读全文
posted @ 2025-03-14 16:59 cannedmint 阅读(15) 评论(0) 推荐(0)
摘要:什么是编译器 将源语言程序翻译为目标语言程序 源语言程序:Csharp,C++等 目标语言程序:二进制数表示的伪机器代码写的程序 预处理器指令 预处理器指令指导编译器在实际编译开始之前对信息进行预处理 预处理器指令都是以#开始 预处理器指令不是语句,所以它们不以分号结束 折叠代码块就是预处理器指令 阅读全文
posted @ 2025-03-14 15:51 cannedmint 阅读(24) 评论(0) 推荐(0)
摘要:线程 操作系统能够进行运算调度的最小单位 它被包含在进程之中,是进程中的实际运作单位 多线程 可以通过代码开启新的线程,可以同时运行代码的多条管道就叫多线程 多线程相关语法 //线程类 Thread //申明一个新的线程 //线程执行的代码需要封装到一个函数中 static void NewThre 阅读全文
posted @ 2025-03-14 14:26 cannedmint 阅读(18) 评论(0) 推荐(0)
摘要:协变逆变 协变: 因为父类可以装子类,所以子类变成父类是协变 比如 string 变成 object 逆变: 父类可以装子类,但子类不能装父类,所以父类变成子类是逆变 比如 object 变成 string 协变和逆变是用来修饰泛型的 协变: out 逆变: in 用于在泛型中修饰泛型字母,只有泛型 阅读全文
posted @ 2025-03-14 13:36 cannedmint 阅读(15) 评论(0) 推荐(0)
摘要:List自带排序方法 List<int> list = new List<int>(); list.Add(3); list.Add(2); list.Add(6); list.Add(1); //list提供的排序方法,默认升序排列 //ArrayList中也有sort排序方法 list.Sort 阅读全文
posted @ 2025-01-21 19:43 cannedmint 阅读(62) 评论(0) 推荐(0)
摘要:lambda表达式 可以将lambda表达式理解为匿名函数的简写 //基本语法: //(参数列表) => //{ // 函数体 //}; //无参无返回值 Action a = () => { Console.WriteLine("无参无返回值的lambda表达式"); }; a(); //有参数的 阅读全文
posted @ 2025-01-21 18:18 cannedmint 阅读(20) 评论(0) 推荐(0)
摘要:匿名函数的意义 匿名函数就是没有名字的函数 匿名函数主要是配合委托和事件使用 //delegate (参数列表) //{ // 函数逻辑 //}; //当函数中传递委托参数或者委托和事件赋值时使用匿名函数 //无参无返回值 //申明 Action a = delegate () { Console. 阅读全文
posted @ 2025-01-21 17:30 cannedmint 阅读(38) 评论(0) 推荐(0)
摘要:事件的本质 事件让委托的使用更具有安全性 事件是一种特殊的变量类型 //申明语法: //访问修饰符 event 委托类型 事件名; //事件的使用: //事件是作为成员变量存在于类中 //委托怎么使用,事件就怎么使用 //事件相对于委托的区别: //事件不能再类外部赋值 //事件不能在类外部调用 / 阅读全文
posted @ 2025-01-21 16:33 cannedmint 阅读(19) 评论(0) 推荐(0)
摘要:委托 委托是函数的容器,可以理解为表示函数的变量类型 用来存储和传递函数 委托的本质是一个类,用来定义函数的类型(返回值和参数的类型) 函数必须对应和各自“格式”一致的委托 //关键字:delegate //语法:访问修饰符 delegate 返回值 委托名(参数列表); //可以申明在namesp 阅读全文
posted @ 2025-01-21 15:45 cannedmint 阅读(33) 评论(0) 推荐(0)
摘要:LinkedList LinkedList 是一个可变类型的泛型双向链表 LinkedList<int> linkedList = new LinkedList<int>(); //往链表尾部加 linkedList.Addlast(1); //往链表头部加 linkedList.AddFirst( 阅读全文
posted @ 2025-01-21 11:47 cannedmint 阅读(28) 评论(0) 推荐(0)
摘要:数据结构 数据结构是计算机存储、组织数据的方式 数据结构是指互相之间存在一种或多种特定关系的数据元素的集合 比如自定义的一个类也可以称为一种数据结构,类是一个自己定义的数据组合规则 数据结构简单来说就是人定义的存储数据和表示数据之间关系的规则 常用的数据结构 数组、栈、队列、链表、树、图、堆、散列表 阅读全文
posted @ 2025-01-21 10:04 cannedmint 阅读(91) 评论(0) 推荐(0)
摘要:Dictionary的本质 基于键的哈希代码组织起来的键值对 键值对类型从hashtable的object变成了可以自己指定的泛型 Dictionary<int,string> dictionary = new Dictionary<int,string>(); //增加 //不能出现相同键 dic 阅读全文
posted @ 2025-01-11 07:23 cannedmint 阅读(99) 评论(0) 推荐(0)
摘要:List的本质 是一个可变类型的泛型数组 List<int> list = new List<int>(); List<string> list2 = new List<string>(); //增加 list.Add(1); list2.Add("string"); List<string> li 阅读全文
posted @ 2025-01-11 06:59 cannedmint 阅读(27) 评论(0) 推荐(0)
摘要:泛型约束的概念 让泛型的类型有一定限制 值类型: where 泛型字母 : struct 引用类型: where 泛型字母 : class 存在无参公共构造函数: where 泛型字母 : new() 某个类本身或者其派生类: where 泛型字母 : 类名 某个接口的派生类型: where 泛型字 阅读全文
posted @ 2025-01-11 06:32 cannedmint 阅读(57) 评论(0) 推荐(0)
摘要:泛型的概念 泛型实现了类型参数化,达到代码复用目的 通过类型参数化来实现同一份代码上操作多种类型 泛型相当于类型占位符 定义类或方法时使用替代符代表变量类型 当真正使用类或方法时再具体指定类型 //泛型类和泛型接口 //基本语法: //class 类名<泛型占位字母> //interface 接口名 阅读全文
posted @ 2025-01-08 21:17 cannedmint 阅读(31) 评论(0) 推荐(0)
摘要:Hashtable的本质 Hashtable 又称散列表,是基于键的哈希代码组织起来的键值对 主要作用是提高数据查询效率,使用键来访问集合中的元素 //申明 Hashtable hashtable = new Hashtable(); //增加 //不管是键还是值都是object类型,所以键和值都可 阅读全文
posted @ 2025-01-08 17:22 cannedmint 阅读(30) 评论(0) 推荐(0)