自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 C#-string

字符串本质是char数组。string是特殊的引用类型,当其值发生改变时,就会在堆中重新分配空间。如此会产生更多的垃圾。

2024-11-12 22:00:00 359

原创 【题】字符串练习题

编写一个函数,将输入的字符串反转。不要使用中间商,你必须原地修改输入数组。交换过程中不使用额外空间。关键:char型数据可以当做数值来进行数学运算。

2024-11-12 22:00:00 156

原创 C#-StringBuilder

string:特殊的引用每次重新赋值或者拼接时会分配新的内存空间,如果一个字符串经常改变会非常浪费空间。StringBuilder:C#提供的一个用于处理字符串的公共类修改字符串而不创建新的对象,需要频繁修改和拼接的字符串可以使用它,可以提升性能。产生垃圾的频率减少。

2024-11-12 22:00:00 348

原创 C#-命名空间

1.命名空间用于组织和重用代码,是个工具包,用来管理类,以组织和重用代码。3.不同命名空间中相互使用,需要using引用命名空间 或者 指明出处。2.不同命名空间中,可以有同名类。4.命名空间可以包裹命名空间。using 命名空间名;

2024-11-12 22:00:00 478

原创 C#-接口:显示实现接口

显式实现接口时,只有通过接口来访问类中的方法;显式接口实现没有访问修饰符,因为它不能作为其定义类型的成员进行访问。而只能在通过接口实例调用时访问。隐式实现接口时,接口和类(实现接口的类)都可以访问类中的方法;应用于:一个类继承两个接口,且接口中存在着同名方法。注意:显示实现接口时 不能写访问修饰符。显式优点:隐藏了实现接口的类的实现代码。显示实现接口 就是用。

2024-11-11 22:00:00 268

原创 C#-接口

常以字母I打头,以区分类类似于电脑上的USB接口,用户插耳机或鼠标,接口都不在乎实现接口时的异常处理方法: 提示→灯泡→“实现接口”→删除抛异常。

2024-11-11 22:00:00 466

原创 C#-objetc中的方法

1.虚方法ToString()自定字符串转换规则2.成员方法GetType()反射相关3.成员方法浅拷贝4.虚方法Equals()自定义判断相等的规则。

2024-11-11 22:00:00 288

原创 C#-多态

多态:让同一父类的对象,执行相同行为时有不同的表现,从而让同一对象有唯一的行为特征。

2024-11-10 22:00:00 248

原创 C#-抽象类、抽象函数

关键字:abstract。

2024-11-10 22:00:00 259

原创 C#-密封类、密封方法

密封方法:密封方法必须是被重写的方法。让虚方法和抽象方法不能再被子类重写。密封类的主要作用就是不允许最底层子类被继承,保证程序的规范性、安全性.密封类不能被继承,密封方法不能被重写 → 让类无法再被继承。加强面向对象程序设计的 规范性、结构性、安全性。密封方法:用sealed修饰的重写函数。特点:一定是和override一起出现。密封方法:密封方法必须是被重写的方法。作用:主要用在面向对象程序的设计中。关键字:sealed。关键字:sealed。

2024-11-09 22:00:00 393

原创 C#-内部类、分部类、分部方法

不常使用,了解即可。

2024-11-08 22:00:00 184

原创 C#-里氏替换原则

概念:任何父类出现的地方,子类都可以替代语法表现:父类容器装子类对象 ,因为子类对象包含了父类的所有内容作用:方便进行对象的存储和管理。

2024-11-08 22:00:00 205

原创 C#-万物之父object、装箱拆箱

万物之父:object基于里氏替换原则,可以用object容器装载一切类型的变量。可以用来表示不确定类型,作为函数参数类型object是所有类型的基类。

2024-11-08 22:00:00 256

原创 C#-拓展方法

/拓展方法的合集//为自定义的类型拓展方法public static void Fun3(this Test t)//注意Test不可以是静态的Console.WriteLine("为test拓展的方法");调用拓展方法//如果拓展方法与其成员方法重名,则只会调用成员方法t.Fun2();

2024-11-07 22:00:00 405

原创 C#-运算符重载

关键词:operator。

2024-11-07 22:00:00 437

原创 C#-类:静态成员的介绍

关键字:static修饰的 成员变量、方法、属性等,直接用类名点出使用。→ 全局性。

2024-11-06 22:00:00 332

原创 C#-类:成员属性

数据成员 ≠ 属性 = 成员属性属性可以理解为一种封装成员属性概念:一般是用来保护成员变量的成员属性的使用和变量一样,外部用对象点出get中需要return内容;set中用value表示传入的内容get和set语句块中可以加逻辑处理。应用:加密解密get和set可以加访问修饰符,但是要按照一定的规则进行添加get和set可以只有一个自动属性是属性语句块中只有get和set,一 般用于 外部能得不能改。

2024-11-05 22:00:00 480

原创 【题】自定义整型数组类,为其封装增删查改方法

自定义一个整形数组类,该类中有一个整形数组变量,为它封装增删查改的方法。

2024-11-05 22:00:00 216

原创 C#-类:索引器

索引器作用:可以让我们以中括号的形式访问自定义类中的元素。规则自己定,访问时和数组一样适用于,在类中有数组变量时使用,可以方便的访问、进行逻辑处理可以重载,结构体也支持索引器。

2024-11-05 22:00:00 684

原创 C#-类:成员变量

特征->成员变量:包括类的数据:变量、常量、事件的成员行为->成员方法:普通方法、属性、构造函数、终结期(析构函数)、运算符重载、索引器。→ 操作类中数据的某些功能静态成员。

2024-11-04 22:00:00 144

原创 C#-类:声明类、声明类对象

类名:帕斯卡同一个语句块中的不同类 不能重名。

2024-11-03 22:26:29 601

原创 【题】类对象(引用类型)的声明和调用

2024-11-03 22:25:15 127

原创 C#-结构体

结构体,一种自定义变量类型在结构体中 可以声明各种变量和方法用来表现存在关系的数据集合:如用结构体表现学生、动物、人类等等。

2024-11-03 22:00:00 257

原创 C#-递归函数

递归函数:让函数自己调用自己。必须有结束调用的条件,且该条件必须能变化至函数结束。

2024-11-03 22:00:00 76

原创 【算法】冒泡排序

两两相邻、不停比较、不停交换、比较n轮。外层是比较的轮数,内层是比较的次数。

2024-11-03 22:00:00 168

原创 【算法】选择排序

新建中间商 → 依次比较 → 找出极值 → 放入目标位置 Length-1-轮数。比较n轮。

2024-11-03 22:00:00 148

原创 C#-基础构造函数、析构函数

实例化对象时 调用的函数,主要是用来初始化成员变量的。在构造函数时,对象的初始化是自动完成的,为默认值,但为满足一些特殊数据的初始化操作。可不使用系统默认给的构造函数。

2024-11-02 22:00:00 364

原创 C#-静态类、静态构造函数

(在第一次使用成员变量之前调用一次)不能使用访问修饰符、不能有参数、只会自动调用一次。静态类和普通类都可以有静态构造函数。普通类中的静态成员,需使用对象调用。静态类中的所有成员,均可直接调用。用static修饰的构造函数。作用:初始化静态成员。

2024-11-02 22:00:00 237

原创 C#-结构体中构造函数和类中构造函数的不同

的构造函数在概念上是相似的,它们都用于初始化新创建的实例。结构体是值类型,它们的实例通常在栈上分配内存,或者在托管堆上(如果它们超过了一定大小或包含引用类型成员)。结构体的构造通常更轻量,因为它们避免了一些与堆分配相关的开销,但它们的使用受到大小和内容的限制。结构体的构造函数也会在实例化时被调用,但结构体的字段初始化在构造函数执行之前就已经完成。结构体也可以有多个构造函数,但由于它们是值类型,构造函数经常用于初始化结构体的字段。类可以继承其他类,因此它们的构造函数可以调用基类的构造函数(使用。

2024-11-02 22:00:00 302

原创 C#-垃圾回收机制

垃圾回收的过程是在遍历堆(Heap)上动态分配的所有对象,通过识别它们是否被引用来确定哪些对象是垃圾,哪些对象仍要被使用。值类型在栈(Stack)中分配内存的,他们有自己的生命周期,不用对他们进行管理,会自动分配和释放。引用类型都是存在堆(Heap)中的,所以它的分配和释放都通过垃圾回收机制来管理。每次分配都可能会进行垃圾回收以释放内存(0代内存满时)在一次内存回收过程开始时,垃圾回收器会认为堆中全是垃圾,会进行以下两步。新分配的对象都会被配置在第0代内存中。GC只负责堆(Heap)内存的垃圾回收,

2024-11-01 22:00:00 448

原创 C#-​继承中的构造函数

执行顺序:从老祖宗开始 依次一代一代向下执行。→先执行父类的构造函数,再执行子类的。子类实例化时,默认自动调用父类的无参构造。如果父类无参构造被顶掉,会报错。调用构造函数原则:先适配,若无,再调用默认无参构。子类中就无法默认调用无参构造了。

2024-11-01 22:00:00 287

原创 C#-构造函数的特殊写法 this重载

2024-11-01 22:00:00 91

原创 C#-值类型、引用类型

整型、浮点、bool、char、枚举、结构体仅需一段内存来存储实际的数据、单独定义时放在栈上。

2024-10-31 22:00:00 1032

原创 C#-函数:ref和out、变长参数、可选参数、函数重载

封装代码提升代码复用率抽象行为函数可写在class,struct语句块中return可以提前结束函数逻辑。程序是线性执行的,从上到下。

2024-10-31 22:00:00 482 1

原创 【题】递归函数简单练习题

【代码】【题】递归函数简单练习题。

2024-10-30 23:27:49 152

原创 C#-数组:一维数组、二维数组、交错数组

数组:声明初始化过后,就不能在原有的基础上进行 添加 或者 删除 了。

2024-10-30 23:24:21 600

原创 【题】C#-数组:二维数组

【代码】C#-数组:二维数组。

2024-10-30 23:17:38 408

原创 C#-枚举

/声明枚举Mage,Archer,Tank//声明枚举变量...break;...break;...break;

2024-10-30 21:27:52 384

原创 C#入门-控制台

以回车为结束信号程序会在此行停止参数true表示不会把输入的内容显示在控制台//在调试模式下,不会自动关闭。

2024-10-29 11:45:48 689

原创 C#入门-if、Switch、循环

产生n条分支,多条道路选择,最先满足其中的一个条件,就做什么注意:条件判断 从上到下执行 满足了第一个后 之后的都不会执行了if()if() else可以嵌套,else可以省略if() if() if() …的使用的效率 要低于 else if() else if() 的效率语句块会影响变量的生命周期。

2024-10-29 10:00:00 317

空空如也

空空如也

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

TA关注的人

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