随笔分类 -  C#基础

摘要:首先了解一下什么是接口: 1、接口就是一种规范,协议,约定好遵守某种规范就可以写通用的代码 2、定义了一组具有各种功能的方法(只是一种能力,没有具体实现,像抽象方法一样,“关说不做”) 接口存在的意义:多态。 1、多态的意义:程序可扩展性,最终让程序变得更灵活,节省成本,提高效率 2、接口解决了类的 阅读全文
posted @ 2018-08-06 17:56 超哥20 阅读(177) 评论(0) 推荐(0)
摘要:首先,要判断是否使用抽象类,可以从下面两个方面进行判断: 1、是不是需要被实例化 2、父类中有没有默认的实现 如果不需要被实例化,父类中没有默认的实现,则用抽象类(否则用虚方法来实现) 下面举个简单的例子: 抽象类的另一个练习 阅读全文
posted @ 2018-08-06 15:12 超哥20 阅读(193) 评论(0) 推荐(0)
摘要:以前字符串的拼接基本都是用string来完成的,从来没有考虑过性能或者速度的问题,自从学习了StringBuilder之后才发现两者的差距有多大,当然,数据量比较小的时候,用string还是挺方便的,但是数据量大的时候弊端就显现出来了。 阅读全文
posted @ 2018-08-06 15:01 超哥20 阅读(209) 评论(0) 推荐(0)
摘要:params可变参数: 1、无论方法有几个参数,可变参数必须出现再参数列表的最后,可以为可变参数直接传递一个对应类型的数组; 2、可变参数可以传递参数也可以不传递参数,如果不传递参数,则数组为一个长度为0的数组 3、可变参数可以直接传递一个数组进来 ref关键字: 1、参数再传递之前必须赋值,再方法 阅读全文
posted @ 2018-08-06 14:56 超哥20 阅读(260) 评论(0) 推荐(0)
摘要:params可变参数,无论有几个参数,必须出现在参数列表的最后,可以为可变参数直接传递一个对应类型的数组 //Console.WriteLine("Hello World!"); //Test("aa", 10, 1, 2, 32, 4, 5, 6); //int[] arrInt = new in 阅读全文
posted @ 2018-07-24 10:46 超哥20 阅读(395) 评论(0) 推荐(0)
摘要:异常处理的一般代码模式 atch块的几种写法 手动抛出异常及使用throw继续向上抛出异常 阅读全文
posted @ 2018-07-19 17:53 超哥20 阅读(165) 评论(0) 推荐(0)
摘要:抽象类不能用来实例化对象 1、抽象类中可以有实例成员,也可以有抽象成员 2、抽象成员不能有任何实现 3、抽象类、抽象成员必须包含在抽象类中 4、抽象类不能用来实例化对象,既然抽象类不能被实例化,那么抽象类的作用就是用来被继承的,继承的主要目的就是用来实现多态 5、抽象成员子类继承以后必须“重写”,o 阅读全文
posted @ 2018-07-09 17:02 超哥20 阅读(202) 评论(0) 推荐(0)
摘要:再静态类中,所包含的所有成员都是“静态成员” 不是所有的静态成员都必须卸载静态类中 静态成员时属于“类”的,不是属于具体“对象”的,所以访问静态成员的时候不能通过对象来访问(对象。属性名),只能通过“类名”来直接访问静态成员。 在程序的任何一个地方访问该静态成员,其实访问的都是同一块内存,有一个地方 阅读全文
posted @ 2018-07-08 23:13 超哥20 阅读(262) 评论(0) 推荐(0)
摘要:面向对象编程(OOP==>Object-Oriented Programming) OOA:面向对象分析 OOD:面向对象设计 OOAD:面向对象分析与设计 什么是面向对象?一种分析问题的方式(增强了程序的可扩展性) 面向对象的三大特性:封装、继承、多态 什么是类?什么是对象?类和对象的区别? *类 阅读全文
posted @ 2018-07-08 21:22 超哥20 阅读(179) 评论(0) 推荐(0)
摘要:使用虚方法实现多态 阅读全文
posted @ 2018-07-06 17:05 超哥20 阅读(199) 评论(0) 推荐(0)
摘要:C# string.Format格式化日期 除去string.Format()可以对日期进行格式化之外,*.ToString()也可以实现相同的效果: 阅读全文
posted @ 2018-07-03 16:24 超哥20 阅读(276) 评论(0) 推荐(0)
摘要:一个简单的求数组最大值的方法 //可变参数 int max=GetMaxNumbers(101,30) 一个简单的方法计算1-100的和 计算1-100之间所有奇数的和 判断一个给定的整数是否为“质数” 计算1-100之间所有质数的和(运用到了上面的判断质数的函数) 假设有一个字符串数组,用方法输出 阅读全文
posted @ 2018-07-01 23:08 超哥20 阅读(1109) 评论(0) 推荐(0)
摘要:面向对象总习 1、封装、继承、多态 ****字段:存储数据,访问修饰符应该设置为private私有的 ****属性:保护字段,对字段的取值和赋值的限定 ****new关键字: 1、在堆中开辟空间(引用类型的值都在堆中) 2、在开辟的空间中创建对象 3、调用对象的构造函数(构造函数没有返回值) *** 阅读全文
posted @ 2018-07-01 13:26 超哥20 阅读(213) 评论(0) 推荐(0)
摘要:模拟磁盘打开文件 class Program { static void Main(string[] args) { while(true) { Console.WriteLine("请选择要进入的磁盘"); string path=Console.ReadLine();//D:\ Console. 阅读全文
posted @ 2018-06-28 23:58 超哥20 阅读(361) 评论(0) 推荐(0)
摘要:类型转换 我们要求等号两边参与运算的操作数的类型必须一致,如果不一致,满足下列条件会发生自动类型转换,或者称之为隐式类型转换 例如:int和double兼容(都是数字类型) 目标类型大于源类型 例如:double>int 显式类型转换: 1、两种类型相兼容 int double 2、大的转成小的 d 阅读全文
posted @ 2018-06-28 00:08 超哥20 阅读(195) 评论(0) 推荐(0)
摘要:占位符 使用方法:先挖个坑,再填个坑。 使用占位符需要注意的地方: 1、你挖了几个坑,就应该填几个坑,如果填多了,没效果,如果填少了,出现异常 异常是指:语法上没有任何错误,只不过再运行的期间,由于某些原因出现了问题,使程序不能再正常的运行。 例子: static void Main(string[ 阅读全文
posted @ 2018-06-27 00:21 超哥20 阅读(946) 评论(0) 推荐(0)
摘要:vs常用快捷键 Ctrl+K+D:快速对齐代码 Ctrl+z:撤销 Ctrl+S:保存 Ctrl+J:快速弹出只能提示 Shift+End:从行首快速选中整行 Shift+Home:从行未快速选中整行 Ctrl+K+C:注释所选代码 Ctrl+K+U:取消对所选代码的注释 F1:转到帮助文档 #Re 阅读全文
posted @ 2018-06-25 23:50 超哥20 阅读(804) 评论(1) 推荐(2)