- 博客(37)
- 收藏
- 关注
原创 WinForm CSV转换与二进制序列化实战
一,CSV和表格的转换三,跳转传值四 ,通过方法传值://接收一个有返回值的方法//接收一个无返回值的方法//接收一个返回值为true的方法//接收一个返回值为true的方法2,同样创两个窗口。
2026-01-07 08:45:00
1035
原创 Windows窗体应用:按钮事件全攻略
事件也有很多种类:鼠标的点击事件、输入框textbox的TextChanged文本输入事件。1,先在主页面进行设计具体流程:先打开视图-->找到工具箱,然后在工具栏搜索所需要的控件。5, 5 Dock 控件的停靠方式 设置处于父控件的哪个方向 top:处于父控件上面。//参数2, EventArgs e;事件对象包含当前事件的一些信息,事件:触发函数的行为,例如在点击的时候调用一个函数 ,需要给按钮绑定一个点击事件,1,事件多播: 可以对一个控件通过使用+=添加事件或者-=删除事件。
2025-12-30 21:42:01
355
原创 C#类型转换与递归算法详解
/as和is 的区别 /*as * 1, 先判断类型 在转换 * 2,转换失败为null * 3,永远不会抛出异常 * 4,不要使用在值类型 * is * 1, 只有判断 如果写成: ani1 is Cat c 格式(模式匹配),也可以达到先判断在转换的功能 * 2,返回值为 t
2025-12-27 08:00:00
1178
原创 C#深入理解C#泛型编程精髓
1,泛型:广泛的类型,一般给方法传入类型的作用,关键字<T>2,定义方法的时候可以把参数或者方法的返回值写成泛型,调用的时候传递实参决定的方法的返回值类型或者参数类型3,通俗:假设想方法的参数可以接受不同类型,可以传递整数也可以传递其他类型,可以把参数类型定义成泛型的 4,语法:修饰符 静态/非静态 方法返回值 方法名<T>(T a,T b){} 凡是所有T地方类型是一致的5, 泛型的场景 List<string> list = new List<string>(); //<st
2025-12-24 08:45:00
1738
原创 C#接口与抽象类:关键区别详解
【1】,抽象类里面可以定义普通方法set;} = 10;//抽象类里面可以定义普通方法public void Eat()//抽象类里面可以定义普通方法【2】,接口: 接口的名称一般以I开头接口里面的成员不能赋初始值,默认是public类型也不能添加public类型set;}//接口里面的成员不能赋初始值,默认是public类型也不能添加public类型set;void Eat();//定义接口方法的时候不能实现【3】,类继承于接口:必须实现接口成员set;set;
2025-12-22 23:55:57
602
原创 C#抽象类与重载重写实战
new Student().Study("高数");new Student().Study("语文", 150);new Student().Study(120,"英语");Console.WriteLine("我在学习");Console.WriteLine("我在学习"+ Progect);Console.WriteLine("我在学习下次考{0}分",score);
2025-12-20 09:57:21
680
原创 C#继承实战:关于类的继承和子类构造函数的相关习题
代码实现:namespace Zy{ internal class Program { static void Main(string[] args) { Animal a1 = new Animal(); a1.Name = "余伟"; a1.NowAge = 20; Console.WriteLine(a1.Name+a1.NowAge);
2025-12-19 20:45:47
1032
原创 C#核心知识点与易错点解析
1】,静态成员前面加上static关键字【2】,类的静态成员和非静态成员存储的位置是不同的, 非静态成员存储在实例化的对象上,每个对象都独自有一份,静态成员是存储在类上,所有的实例共享这一个成员4,字段和属性的区别【1】,成员变量就是字段,用于存储对象信息,为了保证对象的数据不被随意更改,我们通常会用属性来定义公开的成员变量,用字段定义私有的成员变量(小驼峰命名法)【2】,属性: 它本身没有存储数据的能力,它是一个访问器,当我们读取或者设置这个属性时,会执行对应的访问器的get 和set方法。
2025-12-19 20:09:48
1609
原创 深入理解C#抽象类与虚方法
1,抽象类: 用于提供类的部分成员实现 动态多态表现:抽象 2,抽象类包含抽象方法也可以是普通方法 ,如果抽象方法不用去实现,谁继承这个抽象谁去实现抽象方法3,抽象类里面也可以定义抽象成员, 如果是抽象成员。 需要在派生类里面去实现成员4,定义抽象People类:public abstract class People{}5,抽象方法不能有方法体 不能加{}, 抽象属性 不能赋值6,重写抽象成员和抽象方法,重写关键字 override相关代码: public abstract class Peo
2025-12-18 19:49:39
1138
原创 C#核心概念:静态成员与类继承详解
3,公共属性能被子类继承 , 私有不能被继承4,protected 受保护的能被子类继承,不能在外部被对象.属性访问5, protected internal 可以在外部进行访问 可以被子类继承6,继承: 分为父类和子类两个概念 :【1】,父类: 也是叫基类, 把父类的属性和方法继承给子类。【2】,也叫派生类, 作用: 主要是继承父类里面的属性和方法相关代码:1,定义一个·People 类2,定义一个男人类继承与people类3,定义一个SmallMan 继承与Man类。
2025-12-18 08:45:00
656
原创 C#属性与构造函数的深度解析
1,属性: public int Age{get;set;} ,一般不存储数据,可以公开接口,可以在外部进行访问2,字段:private int age 字段可以存储数据 , 一般定义成私有的, 目的:保证数据的安全性3,当如果对类里面的字段进行限制,或者拦截处理, 可以在属性的Set和get访问器里面进行条件设置。4,set 和get 访问器 其实就是方法set服务器: 给字段设置值的方法,带一个参数,一般起成value , 把value赋值给字段。
2025-12-17 19:18:19
366
原创 C# 编程基础:排序、字典与类详解
1,定义整型和字符串等类型可以使用关键字int a = 10;2,还可以使用var 进行定义, var可以接受任意的数据类型,var 类型是根据赋值的时候确定类型var c = 10;3,dynamic 动态类型定义dynamic name = "余伟";4,dynamic和var区别【1】,var是没有类型的, 只有在赋值完之后才确定类型 dynamic就是一个类型【2】,var 在定义的时候 必须赋值【3】,使用dynamic的时候 编码的时候没有对应的提示。
2025-12-16 19:41:40
654
原创 深入浅出:C#中的Lambda表达式与动态数组
1,lambda表达式: 可以让我们定义一个变量,接收一个函数,主要是作为另外一个函数的参观进行使用,具体体现变量和函数体之间使用,=>,其他编程语言称之为箭头函数,但C#中没有箭头函数2,如果一个函数仅在当前作用域进行使用,可以把函数定义在当前作用于进行//303,定义lambda表达式: 方法的组成: 参数列表、返回值、方法名,方法体//标准写法//可以通过变量名调用函数 304,Func<> 方法类型、函数类型//第一个类型 是参数1的类型//第二个类型 是参数2的类型。
2025-12-16 10:29:21
1669
原创 C#数组操作全攻略:引用测试与查询方法
1, 数组的引用测试//赋值关系2,方法传递时候对数组引用测试//i1 = ints3 赋值过程//9993,数组的属性和方法string[] namess = {"余1伟","余2伟","余3伟","余4伟"};//二维数组//32位数组长度// 64位数字数组长度//1维度//2维度4,int [] 数组, 凡是数组都是Array的实例//把数组元素颠倒位置6,Copy 复制()//把参数一数组赋值到参数二数组 赋值参数3个数。
2025-12-15 20:26:08
829
原创 C#字符串与数组操作全解析
【5】,字符串创建方式 通过new string构建字符串如:char[] chars = new char[] { '老', '余', '伟' };//创建一个字符数组【6】,使用$符号进行格式化如:double gz = 1000000;string str6 = $"工资{gz},年龄{age}";【7】,字符串属性 类似于特殊的数组 索引值从0开始如: string str7 = "誉为是多少";// 字符个数 7// 少也可以遍历i ++)
2025-12-15 19:52:17
1334
原创 C#参数进阶:out、ref与params实战
/ 出现十个随机数都是相同的 for执行的速度比较快, 导致种子是一样的 产生的随机数也是一样的。3, 创建对象 : 类名 + 自己起的对象名 = new+ 类名(), new 创建新的,申请内存空间去存储对象, 类名(): 构造函数创建对象为对象进行初始化作用,方法名和类名是一样的。Console.WriteLine(Hd("余伟 ","张三 ","李四","麻子 "," 王二"));
2025-12-12 08:30:00
1056
原创 深入解析C#方法:从基础到高级应用
1,方法:把一些相关的代码封装在一个代码块里,可以给代码块添加一个名称,这个名称就是方法,可以通过调用这个方法名实现功能,方法可以重复用,减少代码重复率2,方法语法: public static/非静态3,public: 修饰符, 一般方法都是定义为公共4,static (静态)/不写(非静态):静态方法找类名.方法名(),非静态方法对象.方法名()5,void/非void: void只是功能的实现,没有结果, 非 void:有返回值的方法6,方法名字 大驼峰命名法。
2025-12-11 19:42:47
1117
原创 深入解析C#循环与对象类型
3,对于引用类型而言 再赋值的过程中, 把b1的内存地址赋值给a1,也就是a1和b1内存地址是同一个,内存地址一样,指向就是同一个内存空间,存储的数据是同一个,再修改一个的时候另一个会发生变化。Console.WriteLine("第二个妻子是{0},年龄是{1},头发是{2}", w2.Name, w2.Age, w2.Hair);Console.WriteLine("第一个妻子是{0},年龄是{1},头发是{2}", w1.Name,w1.Age,w1.Hair);//重复执行inputSex 代码。
2025-12-09 11:28:35
1500
原创 编程基础:switch与循环详解
/ //初始值-1 , -1小于0成立 执行循环体{} ,再去执行i--,变成-2,有比0小会一直循环下去。//执行顺序 先去执行int i = 0 再去比较i的值是否小于五, 如果小于五,再去执行{循环体},i += 2)//如果想循环十次 更改递增量i<20 ,i+=2。3,//跳出当前方法体, 整个方法后续的代码都不在执行, 包含 Console.WriteLine(i);// 1111 转成10进制 1*2^3+1*2^2+1*2^1+1*2^0=15。
2025-12-08 19:36:04
966
原创 C#基础:用户输入与类型转换详解
【3】bool.Parse() 字符串转化为布尔类型, 对字符串不用区分大小写,但是不能是除了false或true以外的其他字符。【1】int.Parse() 把字符串转化为整型, 注意是字符串时可转换的字符串。【2】double.Parse() 字符串转化为浮点类型。
2025-12-03 21:32:00
488
原创 C#基础:using与代码结构要点速览
3, Console.WriteLine("f3的值是:{0},e1的值是{1},e2的值是{2}",f3,e1,e2);2, Console.WriteLine("f3的值是:"+f3+"e1的值是"+e1+ " e2的值为:"+e2);6,main函数,会再执行程序的时候执行main函数中的代码,也叫入口函数,每一个函数必须要有一个入口函数。6,double 属于双浮点类型,不用加F,但要加d或者大写的D,占用八字节。三,基本数据类型(数字类型,字符类型,布尔类型,枚举类型,结构体类型)
2025-12-01 20:57:59
743
原创 Python镜像源
使用Python镜像源可以显著提高包下载速度,提升开发效率。通过合理配置镜像源,结合项目需求选择最适合的解决方案,能够让Python开发过程更加顺畅高效。
2025-11-28 21:03:33
284
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅