自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 问答 (1)
  • 收藏
  • 关注

原创 c#插入排序

取出未排序区的所有元素进行比较,i=1的原因 默认第一个元素就在排序区。每次将未排序区第一个元素取出用于和 排序区中的元素比较。所有的数字都在一个数组中,两个区域是一个分水岭索引。未排序区元素与排序区元素比较插入到合适位置。排序开始 时,首先认为第一个元素在排序区中。两个区域 未排序区 用一个索引值做分水岭。满足条件则 排序区中元素往后移一个位置。2发现排序区中的元素不满足比较条件了。1发现排序区中所有元素都已经比较完。取出排序区的最后一个元素索引。第三步 在未排序区进行比较。其他所有元素在未排序区。

2026-05-08 11:30:45 5

原创 c#值类型和引用类型

命名空间↓类、接口、结构体↓函数、属性、索引器、运算符重载等(类、接口、结构体)↓条件分支、循环上层语句块:类、结构体中层语句块:函数底层的语句块: 条件分支 循环等上层语句块中是成员变量;中、底层语句块中是临时变量。

2026-05-07 15:49:56 128

原创 c#特殊语法

var是一种特殊的变量类型,它可以用来表示任意类型的变量var不能作为类的成员 只能用于临时变量申明时也就是 一般写在函数语句块中,var必须初始化。

2026-05-06 21:51:29 55

原创 c#迭代器

迭代器(iterator)有时又称光标(cursor)是程序设计的软件设计模式迭代器模式提供一个方法顺序访问一个聚合对象中的各个元素而又不暴露其内部的标识。

2026-05-06 21:16:59 238

原创 c#特性笔记

继承特性基类 Attribute ,一般把特性类都写成xxAttribute。使用时只用xx即可。Console.WriteLine("特性的方法");通过为特性类 加特性 限制其使用范围参数一:AttributeTargets —— 特性能够用在哪些地方参数二:AllowMultiple —— 是否允许多个特性实例用在同一个目标上参数三:Inherited —— 特性是否能被派生类和重写成员继承。

2026-05-05 22:32:46 259

原创 c#反射笔记二

程序集类,主要用来加载其它程序集,加载后,才能用Type来使用其它程序集中的信息,如果想要使用不是自己程序集中的内容 需要先加载程序集,比如 dll文件(库文件)。

2026-05-05 22:00:57 46

原创 c#反射笔记(一)

程序集是经由编译器编译得到的,供进一步编译执行的那个中间产物在WINDOWS系统中,它一般表现为后缀为·dll(库文件)或者是·exe(可执行文件)的格式程序集就是我们写的一个代码集合,我们现在写的所有代码最终都会被编译器翻译为一个程序集供别人使用。

2026-05-05 21:44:48 608

原创 c#预处理器指令

预处理器指令 指导编译器 在实际编译开始之前对信息进行预处理预处理器指令 都是以#开始预处理器指令不是语句,所以它们不以分号;结束。

2026-05-04 18:05:01 50

原创 c#多线程

操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程我们目前写的程序 都在主线程中。

2026-05-04 17:45:22 184

原创 c#协变与逆变

协变 父类泛型委托装子类泛型委托 逆变 子类泛型委托装父类泛型委托。:子类委托可以赋值给父类委托(因为返回子类对象,能满足父类返回值的要求)。:父类委托可以赋值给子类委托(因为接受父类参数的方法,也能接受子类参数)。用out修饰的泛型 只能作为返回值。协变:out 逆变:in。用in修饰的泛型 只能作为参数。协变和逆变是用来修饰泛型的。

2026-05-03 22:26:35 17

原创 c#Lsit排序

List.Sort()只能对系统自带变量进行排序。

2026-04-14 11:52:41 64

原创 c#lambad表达式

可以将lambad表达式 理解为匿名函数的简写它除了写法不同外使用上和匿名函数一模一样都是和委托或者事件 配合使用的。

2026-04-14 10:50:54 397

原创 c#匿名函数

顾名思义,就是没有名字的函数匿名函数的使用主要是配合委托和事件进行使用脱离委托和事件 是不会使用匿名函数的。

2026-04-13 15:28:38 239

原创 c#事件学习

事件是基于委托的存在事件是委托的安全包裹让委托的使用更具有安全性事件 是一种特殊的变量类型。

2026-04-13 12:21:11 93

原创 c#委托学习

访问修饰默认不写 为public 在别的命名空间中也能使用申明了一个可以用来存储无参无返回值函数的容器表示用来装载或传递 返回值为int 有一个int参数的函数的 委托 容器规则委托是支持 泛型的 可以让返回值和参数 可变 更方便我们的使用f.Invoke();f2();Console.WriteLine("张三做什么");Console.WriteLine("李四做什么");class Test//先处理一些别的逻辑 当这些逻辑处理完了 再执行传入的函数。

2026-04-12 21:10:11 148

原创 c#LinkedList

LinkedList是一个C#为我们封装好的类它的本质是一个可变类型的泛型双向链表。

2026-04-12 20:15:17 31

原创 c#双向链表

【代码】c#双向链表。

2026-04-11 22:29:50 32

原创 c#顺序存储和链式存储

顺序存储:用一组地址连续的存储单元依次存储线性表的各个数据元素线性表是一种数据结构,是由n个具有相同特性的数据元素的有限序列比如数组、ArrayList、Stack、Queue、链表等等顺序存储和链式存储 是数据结构中两种 存储结构数组、Stack、Queue、List、ArrayList —— 顺序存储只是 数组、Stack、Queue的 组织规则不同而已链式存储单向链表、双向链表、循环链表 —— 链式存储链式存储(链接存储):用一组任意的存储单元存储线性表中的各个数据元素注意点修改引用变量本

2026-04-11 19:55:26 147

原创 C#List

是一个封装好的类 是一个可变类型的泛型数组。不用ArrayList,用List。

2026-04-10 17:58:01 61

原创 C#Dicitionary

Dicitionary 可以理解为拥有泛型的Hasntable它也是基于键的哈希代码组织起来的,键/值对键值对类型从Hashtable的object变为了可以自己定制的泛型。

2026-04-10 17:14:43 170

原创 c#泛型约束

关键字 where值类型 where T:struct让泛型的类型有一定的限制1值类型 where 泛型字母 struct2引用类型 where 泛型字母 class3存在无参公共构造函数 where 泛型字母 new()4某个类本身或者其他派生类 where 泛型字母 类名5某个接口的派生类型 where 泛型字母 接口名。

2026-04-10 11:35:09 60

原创 c#单例模式

/一个私有静态的自身类对象。public static MonsterMgr Instance 一个公共静态属性返回返回自身类对象。一个静态私有的自身类对象,一个公共静态属性返回返回自身类对象。确保一个类只有一个实例,并提供一个全局访问点。静态确保创建时就是唯一的,

2026-04-09 12:15:19 64

原创 c#泛型学习

泛型实现了类型参数化,达到代码重用目的通过类型参数化来实现同一份代码上操作多种类型泛型相当于类型占位符定义类或方法时使用替代符代表变量类型当真正使用类或者方法时再具体指定类型。

2026-04-09 11:36:44 162

原创 c#HashTable

HashTable 基于键的哈希代码组织起来的 键它的主要作用是提高数据查询的效率使用键来访问集合中的元素。

2026-04-09 11:00:50 34

原创 C#Queue

Queue是封装好的类本质是object[]数组,只是封装了特殊的存储规则Queue是队列存储容器先进先出。

2026-04-08 16:13:45 48

原创 c#stack

Stack 是c#封装好的类本质是object[]数组,只是封装了特殊的存储规则先进后出。

2026-04-08 15:53:28 499

原创 c#ArrayList

ArrayList本质上是一个Object数组的封装ArrayList可以不用一开始就定长,单独使用数组是定长的数组可以指定存储类型,ArrayList默认为object类型数组的增删查改需要自己实现,ArrayList是封装好的APIArrayList使用时存在装箱拆箱,数组使用时只要不是Object数组那就不存在这个问题数组长度为Length,ArrayLIst长度为Count。

2026-04-08 11:47:22 167

原创 c#多脚本文件

bin文件夹放的是执行后的文件,也是可以执行的完整文件包。(bin整个文件夹拷贝给别人,可运行)4.文件中新建脚本文件 需要注意命名空间名 的改变。命名空间相同可以直接使用,不同命名空间引用进行。3.解决方案资源管理器窗口 工程右键 点添加。2.c#解决方案中的一些重要文件夹 bin。最好一个类 结构体 脚本 对应一个脚本。.c#脚本文件的后缀 是 .cs。

2026-04-07 17:49:07 22

原创 c#结构体和类区别,接口和抽象类区别

结构体和类最大的区别是在存储空间上的,因为结构体是值,类是引用,因此他们的存储位置一个在栈上,一个在堆上,通过之前知识点的学习,我相信你能够从此处看出他们在使用的区别——值和引用对象在赋值时的区别。结构体和类在使用上很类似,结构体甚至可以用面向对象的思想来形容一类对象。结构体具备着面向对象思想中封装的特性,但是它不具备继承和多态的特性,因此大大减少了它的使用频率。由于结构体不具备继承的特性,所以它不能够使用protected保护访问修饰符。

2026-04-07 17:42:11 170

原创 c#StringBuilder

c#提供的一个用于处理字符串的公共类主要解决的问题是修改字符串而不创建新对象 ,需要频繁修改和拼接的字符串可以使用它,可以提升性能使用前,需要引用命名空间。也会产生垃圾,但比string要生成的频率少它存在一个容量问题,每次往里增加时,会自动扩容 预先准备好一个空间存放。

2026-04-07 12:23:57 170

原创 c#字符串函数

字符串和字符数组的区别在于,字符串只有get属性,没有set属性。但字符数组可读可写。string的很多方法不会改变原来的字符串,需要给其一个赋值才能改变。传两个参数进行移除 从哪个位置开始移除几个字符。把前面的字符串替换成后面的字符串。打印下标号,没找到默认-1。类型的一个实例方法,用于。

2026-04-07 12:00:21 57

原创 c#万物之父

判断两个对象是否相等不管值类型引用都会按照左侧对象Equals方法的规则来进行比较引用类型比较的是两个对象指向地址是否一样。

2026-04-07 11:23:46 209

原创 c#密封类及命名空间

用sealed密封关键字修饰的类作用 让类无法再被继承。

2026-02-25 09:42:44 453

原创 c#万物之父装箱拆箱

关键字 objectobject是所有类型的基类,他是一个类(引用类型)作用可以利用里氏替换原则 ,用object容器装所有对象可以用来表示不确定类型 作为函数参数类型。

2026-02-24 11:56:35 419

原创 c#继承中的构造函数

而没有显式定义无参构造函数,那么父类。

2026-02-23 15:33:36 99

原创 c#里氏替换

里氏替换原则是面向对象七大原则中的重要的要则概念任何父类出现的地方 ,子类都可以替代重点语法表现 父类容器装子类对象,因为子类对象包含了父类的所有内容作用方便进行对象存储和管理。

2026-02-23 07:45:30 565

原创 c#继承的原则

一个类A继承了一个类B类A将会继承类B的所有成员类A将拥有B类的所有特征和行为被继承的类称为 父类 基类 超类继承的类称为子类 派生类子类可以有自己的特征和行为特点单根性 子类只能有一个父类传递性 子类可以间接继承父类的父类。

2026-02-22 23:18:12 74

原创 c#内部类和分部类

在一个类中再声明一个类特点使用时要包裹者点出自己作用亲密关系的变现注意访问修饰符影响。

2026-02-22 17:04:05 66

原创 c#运算符重载

让自定义类和结构体 能够使用运算符使用关键字 operator特点一定是一个公共的静态方法 返回值写在operator前 逻辑处理自定义条件运算符需要成对实现一个符号可以多个重载不能使用ref和out。

2026-02-22 10:36:10 54

原创 c#扩展方法

class Test。

2026-02-21 08:17:09 101

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除