随笔分类 - C#
摘要:Split分割字符串 static void Main(string[] args) { string s = "abc += def"; //把不想要的+=放在字符串数组中 char[] chs = {'+','='}; //使用Split分割字符串,删除不想要的字符串,把空数据也移除掉 stri
阅读全文
摘要:1、值类型和引用类型的区别: 1)值类型和引用类型在内存上存储的地方不一样。 值类型的值是存储在内存的栈当中。 引用类型的值是存储在内存的堆中。 2)在传递值类型和传递引用类型的时候,传递的方式不一样。 值类型我们称之为值传递 引用类型我们称之为引用传递 2、我们学的值类型和引用类型有哪些: 值类型
阅读全文
摘要:作用:将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理。 using System; namespace params参数 { class Program { static void Main(string[] args) { //int[] s = { 99, 88, 77 }; T
阅读全文
摘要:作用:将一个变量带入到方法中进行改变,改变完成后,再将改变后的值带出方法。 ref参数要求必须在方法的外部赋值,而方法内部可以不赋值。 using System; namespace ref参数 { class Program { static void Main(string[] args) {
阅读全文
摘要:如果在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组。 但是,如果返回多个不同类型的值的时候,可以考虑使用 out参数 进行返回。 using System; namespace out参数 { class Program { static void Main(string[] arg
阅读全文
摘要:结构是一次性存储多个不同的变量 数组是一次性存储多个相同的变量 数组语法:数组类型[] 数组名=new 数组类型[数组长度]; 数组的两种声明方式 using System; namespace 数组 { class Program { static void Main(string[] args)
阅读全文
摘要:作用:可以帮助我们一次性声明多个不同类型的特殊的变量(我们称为字段,用下划线标记) 语法:public struct 结构名 { 成员,} 和枚举一样,写在命名空间的下面,方便下面的类和方法调用 using System; namespace 结构 { //声明一个结构类型 Person publi
阅读全文
摘要:作用:为了规范开发,统一字段名。 枚举名:符合Pascal命名规范。 枚举不能声明在Main方法里面,最后声明在命名空间的下面,这样下面的类和方法都能够用到这个枚举了。 枚举就是一个变量类型和int,double,string 一样,只是枚举声明、赋值、使用的方式跟那些普通的变量类型不一样。 usi
阅读全文
摘要:顺序结构:程序从Main函数进入,从上到下一行一行的执行,不会落下任何一行。 分支结构:if ,if-else 选择结构:if else-if,switch-case 循环结构:while,do-while,for,foreach 注意:else永远跟它最近的那个if配对
阅读全文
摘要:用接口,可以让学生继承2个类, 接口是一种规范,一种能力,一种扩展 using System; namespace 多态之接口类 { class Program { static void Main(string[] args) { //接口就是一个规范、能力。 Student ss = new S
阅读全文
摘要:当父类中的方法不知道如何去实现的时候,可以考虑将父类写成抽象类,将方法写成抽象方法 比如:狗狗会叫,猫咪也会叫,可以使用 abstract关键字标记一个抽象的动物类,抽象的方法
阅读全文
摘要:多态:让一个对象能够表现出多种的状态(类型)实现多态的3种手段:1、虚方法 2、抽象类 3、接口 1、虚方法 步骤: 1)将父类的方法标记为虚方法,使用关键字 virtual 2) 将子类的方法前面加个override,即可实现多态
阅读全文
摘要:using System; using System.Collections.Generic; namespace List_泛型集合 { class Program { static void Main(string[] args) { //创建泛型集合对象 List<int> list = ne
阅读全文
摘要:using System; using System.Collections; namespace Hashtable_键值对集合 { class Program { static void Main(string[] args) { //创建一个键值对集合对象 Hashtable ht = new
阅读全文
摘要:1、ArrayList集合对象 using System; using System.Collections; namespace ArrayList集合 { class Program { static void Main(string[] args) { //创建了一个集合对象 ArrayLis
阅读全文
摘要:1、里氏转换 1)子类可以赋值给父类 2)如果父类中装的是子类对象,那么可以将这个父类强转为子类对象 using System; namespace 里氏转换 { class Program { static void Main(string[] args) { //1、子类可以赋值给父类: //如
阅读全文
摘要:1、创建对象 2、隐藏从父类那里继承过来的同名成员,隐藏的后果就是子类调用不到父类的成员了。 子类名称和父类名称写的一样的时候,你就调用不到父类的成员了,如果你故意这么做的,就是想隐藏父类的成员,不想用父类的成员,用关键字new,public new void SayHello()
阅读全文
摘要:封装:可以想象成遥控器,你不需要知道它内部怎么实现的,它封装好你拿来就能用就行了 继承:把这几个类重复的成员单独拿出来封装成一个类,作为它们几个共同的父类 继承的特性: 单根性:只能有一个父类(基类) 传递性:孙子可以用父亲的、爷爷的、祖爷爷的属性(查看类图看它们之间的关系,视图 - 查看类图) 父
阅读全文
摘要:作用:帮助我们初始化对象(给对象的每个属性依次赋值) 先创建对象 - 然后执行构造函数 构造函数是一个特殊的方法: 1)构造函数没有返回值,连void也不能写 2)构造函数的名称必须和类名一样(你的类叫Person,你的构造函数名字也得叫Person) 构造函数是可以有重载的 *** 类当中会有一个
阅读全文