Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

List 一、本质 List 是一个 c#为我们封装好的类 它的本质是一个可变类型的泛型数组 List 类帮助我们实现了很多方法,比如泛型数组的增删查改 二、申明 123//需要引用命名空间//using System.Collections.GenericList<int> list = new List<int>(); 三、增删查改 1.增 12345678910...

List 排序 一、List 自带的排序 12345List<int> list = new List<int>();//List自带的升序排序方法list.Sort();//list反转排序list.Reverse(); 二、自定义类的排序 1.实现方法 继承 IComparable 或者 IComparable<>接口 并实现对应 CompareTo ...

Queue 一、本质 Queue(队列)是 C#为我们封装好的类,本质上是 object 数组,只是封装了特殊的存储规则(先进先出) 示意图 二、申明 引用命名空间: using System.Collections; Queue queue = new Queue(); 三、增取查改 1.增 1234queue.Enqueue(1);queue.Enqueue("string...

lambad 表达式和闭包 一、定义 可以将 lambad 表达式 理解为匿名函数的简写 它除了写法不同外 使用上和匿名函数一模一样 都是和委托或者事件 配合使用的 二、基本语法 1234(参数列表) =>{}; 三、使用 函数中传递委托参数时 委托或事件赋值时 脱离委托和事件时,是不会使用 lambad 表达式的 四、缺点 添加到委托或者事件容器后 lamba...

Stack 一、本质 Stack(栈)是 C#为我们封装好的类,本质上是 object 数组,只是封装了特殊的存储规则(先进后出) 原理图 二、申明 引用命名空间: using System.Collections; Stack stack = new Stack(); 三、增取查改 1.增 12345//压栈stack.push(1);stack.push("string&q...

事件 一、事件的定义 事件是基于委托的存在 事件是委托的安全包裹 让委托的使用更具有安全性 事件 是一种特殊的变量类型 二、使用 1.申明语法 访问修饰符 event 委托类型 事件名; 2.事件的使用 事件是作为 成员变量存在于类中 委托怎么用 事件就怎么用 三、事件相对于委托的区别 事件不能在类外部 赋值 事件不能再类外部 调用 它只能作为成员存在于类和接口以及结构体中 事件的使用...

值与引用的相关问题 一、如何判断是值类型和引用类型? F12 进到类型的内部去查看 是 class 就是引用 是 struct 就是值 二、语句块 命名空间 类、接口、结构体 函数、属性、索引器、运算符重载等(类、接口、结构体) 条件分支、循环 问题: 我们的逻辑代码写在哪里? 函数、条件分支、循环-中底层语句块中 我们的变量可以申明在哪里? 上、中、底都能申明变量 上层语句块中...

匿名函数 一、定义 顾名思义,就是没有名字的函数 匿名函数的使用主要是配合委托和事件进行使用 脱离委托和事件 是不会使用匿名函数的 二、基本语法 12345delegate (参数列表){ //函数逻辑 //有返回值时 直接return就行} 三、使用注意事项 函数中传递委托参数时 委托或事件赋值时 脱离委托和事件时,是不会使用匿名函数的 四、缺点 添加到...

协变逆变 一、 定义 1.协变 和谐的变化,自然的变化//因为 里氏替换原则 父类可以装子类 所以 子类变父类 比如 string 变成 object 感受是和谐的 2.逆变 逆常规的变化,不正常的变件 因为 里氏替换原则 父类可以装子类 但是子类不能装父类 所以 父类变子类 比如 object 变成 string 感受是不和谐的 3.修饰符 协变和逆变是用来修饰泛型的 协变:out 逆变:...

多线程 一、线程和进程的区别 1.进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动 是系统进行资源分配和调度的基本单位,是操作系统结构的基础 说人话:打开一个应用程序就是在操作系统上开启了一个进程,进程之间可以相互独立运行,互不干扰,进程之间也可以相互访问、操作 2.线程 操作系统能够进行运算调度的最小单位。 它被包含在进程之中口是进程中的实际运作单位 一条线程指...