随笔分类 -  C#基础

摘要:基类的: 把这几个类中重复的内容提取出父类,重复的成员(字段,方法),我们可以抽取重复的成员,单独的封装到这个类中,这些类继承这个父类,这个类就是父类也叫这几个类基类,这些类称为派生类(子类)。 子类可以从父类中继承什么? 结论:子类从父类中继承了public,protected 修饰的成员,不能继 阅读全文
posted @ 2018-06-20 08:04 CeasarH 阅读(609) 评论(0) 推荐(0)
摘要:static修饰类:静态类 静态类: 静态类中所有成员都是 静态的 静态类不可以实例化:所有的成员都是用类名直接调用,不需要用到实例 使用静态类: 1.如果想要你的类当做一个工具类去使用,考虑用静态类,例如 Console类 原因:经常用为什么要写成静态? 1.使用更方便 2.静态类在整个项目中资源 阅读全文
posted @ 2018-06-19 08:14 CeasarH 阅读(192) 评论(0) 推荐(0)
摘要:sealed: adj. 密封的;未知的 v. 封闭;盖印(seal的过去分词) 被sealed修的类:密封类 修饰的方法: 密封方法 密封类:可以继承其他类,不可以被其他类继承 密封方法: 密封方法,在派生类中该方法不可以重写 密封类不可以被继承,那么密封类中不可以有虚方法和抽象方法。 seale 阅读全文
posted @ 2018-06-15 08:28 CeasarH 阅读(431) 评论(0) 推荐(0)
摘要:单线程 :只有一个线程(主线程),弊端,一个时间只能调用一个函数方法,如果正在打印时候去关闭程序,会关闭不了,出现假死现象 线程分为前台线程和后台线程默认创建的都是前台线程 前台线程: 只有多有的前台线程都关闭了才能完成程序的关闭 后台线程: 只要所有的前台线程结束,后台线程自动结束 解析:创建的前 阅读全文
posted @ 2018-06-15 07:37 CeasarH 阅读(122) 评论(0) 推荐(0)
摘要:在同一个命名空间下,只能定义一个相同类名的类,例如在一个命名空间下只能有一个 Person类。 部分类:理解为每个部分只是组成类的一部分,其实还是一个类,所有的成员都是共享的,也就是说在一个部分类中定义的变量, 在另一个部分类中可以使用,那么在一个部分类中定义的变量,在其他部分类中不能重复定义,可以 阅读全文
posted @ 2018-06-15 07:35 CeasarH 阅读(215) 评论(0) 推荐(0)
摘要:1 //using System.IO; 2 ///Directory:操作文件夹/目录的类,Directory是静态类 3 ///创建文件夹 4 Directory.CreateDirectory(@"D:\a"); 5 //注释:如果D盘中已经有了a文件夹,不会重新创建,不会覆... 阅读全文
posted @ 2018-06-15 07:24 CeasarH 阅读(173) 评论(0) 推荐(0)
摘要:1 class Program 2 { 3 static void Main(string[] args) 4 { 5 6 try 7 { 8 int.Parse(":"); 9 } 10 catch (E... 阅读全文
posted @ 2018-06-12 10:50 CeasarH 阅读(285) 评论(0) 推荐(0)
摘要:第一、字符串不可变性 1)当一个字符串重新赋值后,旧值并没有被销毁,而是重新开一块空间存放新值变量存储的新值内存地址 2)当程序结束后,GC扫描整个内存,如果发现有的内存空间没有被指向,则立即把它销毁 第二:相同的字符串,在堆中开辟一个空间, 例如 string s1 = “张三”;string s 阅读全文
posted @ 2018-06-12 10:48 CeasarH 阅读(329) 评论(0) 推荐(0)
摘要:递归:就是自己调用自己本身。 阅读全文
posted @ 2018-06-11 11:24 CeasarH 阅读(457) 评论(0) 推荐(0)
摘要:1.修饰必须是一维数组 2.可变参数要放到最后一个,所以一个方法中只能有一个 3.不能依赖重载方法 4.不允许parmas数组指定 ref 或者 out 5.非parm方法总是优先param方法如 sum(parms int【】arr) 和重载 sum() 6.parms即使没有传入参数,方法内部仍 阅读全文
posted @ 2018-06-11 09:59 CeasarH 阅读(1042) 评论(0) 推荐(0)
摘要:out、 ref 关键字的作用: 一个函数中,使用out 和 ref 作为形参的关键字,那么在函数体中只要修改过这个形参,之前调用这个函数 时赋给对应的形参的也会改变,原因: 使用out ref修饰的形参是引用类型,而不是值类型也就是说他们所存储的是地址而不是值类型。值类型变成了引用类型。 out、 阅读全文
posted @ 2018-06-11 08:19 CeasarH 阅读(281) 评论(0) 推荐(0)
摘要:值类型和引用类型: 值类型包括:byte,short,int,long,char,float,double,bool,struct结构 引用类型包括:类类型,接口类型和数组 等。 值类型和引用类型特点: 1.值类型的变量保存的是原始值,即它代表的值本身。 引用类型变量保存的是引用值, 引用值:指向内 阅读全文
posted @ 2018-06-11 07:38 CeasarH 阅读(243) 评论(0) 推荐(0)
摘要:方法:就是将一段代码放在一起,进行重复调用的机制。 语法: * [private] static 返回值类型 函数名 (参数列表) * { * 函数代码; * * return 返回值; * } * * public :是访问修饰符,公共的在那都可以访问 * static: 静态的 * 返回值类型: 阅读全文
posted @ 2018-06-10 19:30 CeasarH 阅读(228) 评论(0) 推荐(0)
摘要:概念:一次性存储多个相同类型的变量,区别结构一次性声明多个不同类型的变量 1.动态初始化数组 数组中默认是0 给数组赋值: 1 nums[5] = 10; 2 nums[3] = 12; 2.静态初始化 1 //练习1:从一个整数数组中取出最大的整数,最小的整数,总和,平均值 2 //注意:0 是最 阅读全文
posted @ 2018-06-10 18:56 CeasarH 阅读(234) 评论(0) 推荐(0)
摘要:一般情况下,不建议使用结构。 结构中可以包含多种不同类型的字段,方法 定义一个结构: 结构声明:调用 结构中也可以有方法: 调用: 结构特点: 结构和类不一样,不可以new对象。直接声明对象就可以 结构是值类型,所以对象只在栈中,不会在堆中开空间 结构没有默认的构造函数。 给结构加构造方法:必须把结 阅读全文
posted @ 2018-06-10 18:47 CeasarH 阅读(218) 评论(0) 推荐(0)
摘要:语法: [public] enum 枚举名 { 值1, 值2, 值3 // 注意:最后的元素后没有逗号 } 1.public 访问修饰符,放在[] 中括号中,是默认public。公开的,哪都可以访问 2.enum:声明枚举关键字,枚举类型 3.枚举名:规范每个单词首字母大写 4.枚举声明位置:声明在 阅读全文
posted @ 2018-06-10 17:04 CeasarH 阅读(191) 评论(0) 推荐(0)
摘要:try-catch来进行异常捕获 try { 可能会出现异常的代码; 。。。。。。 } catch (Exception) { 出现异常后执行的代码 throw; } 执行过程: 如果try中代码没有出现异常,那么catch中的代码不会执行。 如果try中出现了异常,异常后面的代码不再执行了,而是直 阅读全文
posted @ 2018-06-10 16:13 CeasarH 阅读(170) 评论(0) 推荐(0)
摘要:关系运算符 > >= < <= != == 对数值的运算 ,结果返回的是 bool值逻辑运算符 && || ! && :逻辑与,前后都为TRUE 结果为TRUE || : 逻辑或,有一个为TRUE,结果为TRUE ! : 逻辑非,取反,TRUE取反是FALSE 三元运算符: 数据类型 变量名 = 表 阅读全文
posted @ 2018-06-10 15:42 CeasarH 阅读(645) 评论(0) 推荐(0)
摘要:语法:字符串中加大括号加上数字 “第{0}个数字”,i 注意:大括号中数字是对应逗号后边第几个数据,从0开始计数 逗号后不一定是数字,也可以是字符串 逗号的数据,也不一定都要在占位符中都用到 大括号中的数据可以重复 单个占位符: Console.WriteLine("第{0}个数字",12); // 阅读全文
posted @ 2018-06-10 15:05 CeasarH 阅读(371) 评论(0) 推荐(0)
摘要:赋值运算符“=”: int num = 12; 赋值运算符把等号左边的赋值给右边, 第一等号两边的数据类型一致;第二。等号左边是变量,不可以是常量 常量:被const修饰的变量,常量,在程序运行过程中不可以不改变 ++ 、-- 自增、自减 1.单独使用 符号前后一样 2.参加运算: ++号在前就先自 阅读全文
posted @ 2018-06-10 14:48 CeasarH 阅读(416) 评论(0) 推荐(0)