05 2020 档案
摘要:什么是委托? 将一个方法作为参数传递给另一个方法。 注意:委托所指向的方法必须和委托具有相同的签名(返回值类型和参数列表) 举例 using System; using System.Collections.Generic; using System.Linq; using System.Text;
阅读全文
摘要:为什么要用多线程 让计算机"同时"做多件事情,节约时间。 多线程可以让一个程序“同时”处理多个事情。 后台运行程序,提高程序的运行效率,也不会使主界面出现无响应的情况。 获得当前线程和当前进程 如何实现多线程? 编写产生线程所要执行的方法 引用System.Threading命名空间 实例化Thre
阅读全文
摘要:进程 我们可以把计算机中每一个运行的应用程序都当做是一个进程。 而一个进程又是由多个线程组成的。 Process GetProcesses():获得当前程序中所有正在运行的进程 Process[] pros = Process.GetProcesses(); foreach (var item in
阅读全文
摘要:效果 实现 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; usin
阅读全文
摘要:效果 #实现 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; usi
阅读全文
摘要:效果 实现 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using
阅读全文
摘要:效果 实现 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using
阅读全文
摘要:效果 实现 代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WindowsFormsApp
阅读全文
摘要:Directory 用于操作文件夹 方法 CreateDirectory():创建文件夹 Directory.CreateDirectory(@"D:\a"); Delete():删除文件夹 Directory.Delete(@"D:\a",true); Move():剪切文件夹 Directory
阅读全文
摘要:效果图 实现 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; usi
阅读全文
摘要:效果 实现 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; usin
阅读全文
摘要:什么是winform winform应用程序是一种智能客户端技术,我们可以使用winform应用程序帮助我们获得信息或者传输信息等。 如何创建 当我们创建桌面应用程序之后,界面如下图,我们可以在其上拖拽一些控件 选中控件,快捷键F4,可以对属性做一些修改 Name:在后台要获得前台的控件对象,需要使
阅读全文
摘要:概念 让一个对象能够表现出多种的状态(类型) 实现多态的手段 1、虚方法 2、抽象类 3、接口 虚方法(类似Java中的重写) 步骤: 将父类的方法标记为虚方法 ,使用关键字 virtual,这个函数可以被子类重新写一个遍。 下例代码中,想要调用子类中的Eat(),发现并不可以,调用的是父类中的Ea
阅读全文
摘要:密封类 不能够被其他类继承,但是可以继承于其他类。使用sealed进行修饰。
阅读全文
摘要:什么是部分类 在同一个命名空间下不能写两个类名一模一样的类,但有时可能一个项目有几个人开发,这时可能都会修改同一个类,这时,就需要用到部分类。部分类使用partial修饰 举例
阅读全文
摘要:序列化和反序列化 序列化:就是将对象转换为二进制 反序列化:就是将二进制转换为对象 作用 传输数据。 如何序列化 1)、将这个类标记为可以被序列化的 2)、创建序列化对象BinaryFormatter 3)、调用序列化方法Serialize() 如何反序列化 1)、将这个类标记为可以被序列化的 2)
阅读全文
摘要:值传递 debug调式: 通过debug可以发现n1和n2地址值并不相同,它们在栈中空间也就不相同。 其栈中执行如图所示: 在栈中开辟一块空间n1,并赋值为10, 就相当于在栈中开辟一块空间n2,并将n1的值复制一份赋给n2,这时n2的值为10,当将n2赋值为20时( ),就会将原值变为20. 下例
阅读全文
摘要:c 中的访问修饰符 public :公开的公共的 private:私有的,只能在当前类的内部访问 protected:受保护的,只能在当前类的内部以及该类的子类中访问。 internal:只能在当前项目中访问。在同一个项目中,internal和public的权限是一样。 protected inte
阅读全文
摘要:使用StreamReader读取文本文件 详情请参考 "官方文档" 使用StreamWriter写入文本文件 详情请参考 "官方文档"
阅读全文
摘要:FileStream作用 为文件提供流操作,既支持同步读写操作,也支持异步读写操作。 构造方法 public FileStream (string path, System.IO.FileMode mode, System.IO.FileAccess access):使用指定的路径、创建模式和读/写
阅读全文
摘要:方法 Create():创建文件 Delete():删除文件 Copy():复制文件 Move():剪切文件 WriteAllBytes():以字节的形式向文件中写入数据 ReadAllBytes():从文件中读取数据 Encoding ReadAllLines():将文件的所有行读入一个字符串数组
阅读全文
摘要:Path类是做什么的? 对包含文件或目录路径信息的 String 实例执行操作。 方法 运行结果: 其他方法可参考 "官方文档"
阅读全文
摘要:里氏转换 1)、子类可以赋值给父类 2)、如果父类中装的是子类对象,那么可以讲这个父类强转为子类对象。 例如: 注意:子类对象可以调用父类中的成员,但是父类对象永远都只能调用自己的成员。 is和as is:表示类型转换,如果能够转换成功,则返回一个true,否则返回一个false as:表示类型转换
阅读全文
摘要:string的不可变性 字符串是不可变的。 例如: 上述代码内存如图所示,当为变量s赋上新值时,会重新开辟一块空间存放新值,并将原来的引用指向这个新开辟的空间。而没有引用指向的空间则会通过垃圾回收机制进行回收。 上述代码内存图如图所示,当为变量赋上值时,会重新开辟一块空间存放新值,当s1的值为abc
阅读全文
摘要:如何在一个项目中引用另一个项目的类 1)、添加引用 2)、引用命名空间 例如:想要在Demo的Program中引用Demo1中的Person,如何进行引用? 添加引用 可以发现这里多了个Demo1的引用 引用命名空间 注意:Person类的访问修饰为public。
阅读全文
摘要:析构函数 析构函数是在程序结束之前,才会被执行。 语法 用法 析构函数一般用于帮助我们释放资源。
阅读全文
摘要:this关键字的用法 1.指代当前类的实例 2.在类中显式的调用本类中的构造方法。 调用类中构造方法语法 :this 例如:在下例代码中通过在构造方法“)”后加上“:this(参数列表)”来调用相应的构造方法。 运行结果: 通过执行结果分析,可以发现,对于构造函数括号后加了:this(参数列表)的,
阅读全文
摘要:什么是属性? 属性类似于java中的setter和getter方法,其本质上就是get和set方法 属性的作用? 属性的作用就是保护字段、对字段的赋值和取值进行限定。 基本语法 上述可以看做一个简写。 使用属性可以对字段进行保护,当字段的值有某些范围时,例如_age不可为负数,那么这时就可以在属性中
阅读全文
摘要:方法的重载 方法的重载指的就是方法的名称相同,但是参数列表不同,与返回值没有关系。 参数不同,分为两种情况 1)、如果参数的个数相同,那么参数的类型就不能相同。 2)、如果参数的类型相同,那么参数的个数就不能相同。 示例
阅读全文
摘要:params的作用 使用 params 关键字可以指定采用数目可变的参数的方法参数。参数类型必须是一维数组。 注意:params只能修饰在方法的形参列表中的最后一个元素,并且在方法声明中只允许有一个params关键字。 params的使用 运行结果:
阅读全文
摘要:什么是ref? ref关键字指示按引用传递的值,而非按值传递。 如何做? 如图,这是一个参数没被ref修饰的的交换两个int类型变量值的方法,通过结果可以明显的看出并没有交换成功。 运行结果: 上例代码,可以看出,在被ref修饰后,两个int类型的变量的值交换成功了。 使用: 在方法上用ref修饰形
阅读全文
摘要:什么是out? 在方法中想要返回多个值(尤其是多个不同类型的值)可以考虑使用out参数来解决。 如何做? 运行结果: 如代码所示,对于想要返回多个值的方法来说,只需要使用out修饰,想要返回的形参就行了,如: 在其他地方调用时,在对应的实参上加上out修饰,如: 对于实参的名字可以与形参不同,这没有
阅读全文
摘要:什么是结构? 结构类型是一种可封装数据和相关功能的值类型。 使用 struct 关键字定义结构类型: 变量在程序运行期间只能存储一个值,而字段可以存储多个值。 运行结果:
阅读全文
摘要:语法 public:访问修饰符,public权限最高,公共的,哪都可访问 enum:声明枚举的关键字 一般将枚举声明到命名空间的下面,类的外面,表示这个命名空间下,所有的类都可以使用这个枚举。 如下所示: 枚举类型和int类型的相互转换 枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转换
阅读全文
摘要:常量 常量是不可变的值。 语法格式 const 类型 常量名=值 如图: 详细请参考 "官方文档"
阅读全文

浙公网安备 33010602011771号