c#内容整理 一输入输出1.console.write(内容);输出不换行一定要给这个括号里传递数据不能为空2.console.writeLine(内容);输出换行这个括号里可以传递数据也可以不如果不传递数据这一行代码就表示一个换行3.console.readline();读这一行数据。ps这个返回的是一个字符串string类型二常量和变量两者的区别在与常量是在程序运行过程中值不可以发生改变的变量是在运行过程中值可以发生改变的三数据类型1.数据类型主要分为两大类值类型和引用类型基本数据类型又分整型浮点型字符型布尔型2.类型转换分两种情况一种是自动类型转换另一种是强制类型转换自动类型转换把一个小类型的值赋值给另一个大类型的的这种转换是自动的gettype():获取当前值的类型强制类型转化把一个大类型的值赋值给另一个小类型的的比如将double类型的转化成int类型的数据类型.pares(字符串)———将字符串转为其他类型。convert.tolnt32或者convert.toxxx(变量)什么类型都可以四流程控制语句1.分支结构if和switchif(表达式){语句体}if(表达式){语句体}else{语句体2}if(表达式){语句体}else if表达式2{语句体2}else{语句体}switch表达式{case1语句体1braek;case2语句体2braek;.....default:语句体n1break;}ps:每一个case后面一定要有breakif用于区间之间的判断switch用于对应单个值的判断2.循环forwhile,do..whilewhile(条件判断语句){循环体语句调节控制语句}do{循环体语句调节控制语句}while(条件判断)for(初始化语句条件判断条件控制){循环语句}三种循环的区别:for和while是先判断后执行的do..while是执行一次循环然后判断条件是否成立是否继续执行自增变量因为在for循环结构中在for循环结束后就不能在访问了但是在while循环中因为自增变量不在其语法结构里循环结束后还可以访问break跳出循环结束循环continue跳过本次循环继续下次循环goto允许跳转到代码中的指定标签位置五数组1.数组数组是用来存储多个相同数据类型的集合2.数组的使用方式数据类型[]数组名new 数据类型[数组长度]动态初始化数据类型[]数组名new 数据类型[]{元素1元素2......}或者 数据类型[]数组名{元素1元素2......} (静态初始化)数组名.length//获取数组长度.索引:在数组中的每一个元素都有自己相应的编号比如第一个元素的编号是0其他以此类推3.数组和变量的区别变量没有默认值但是数组有变量在内存中是一小块空间而数组是一块连续的空间4.数组的常用方法5.二维数组数据类型[,]数组名new 数据类型[n,m];n表示这个二维数组可以放多少个一维数组m表示每一个一维数组可以放多少个元素获取二维数组的长度数组名.length是获取数组的元素个数数组名.getlength(0)是获取当前数组行的数量数组名.getlength(1)是获取当前数组列的数量6.锯齿数组;一个数组内部每个元素都是数组而且每个元素数组长度都可以不相同格式数据类型[][]数组名new int [数组元素个数][]六方法方法是将有独立功能的代码组织成为一个整体使其具有特殊功能的代码集优点将独立代码统一管理避免代码冗余不用重复写同一代码提高代码复用性语法:[public] static 返回值类型 方法名 [参数列表]{方法体}写好后一定要在main方法中使用调用方法类名.方法名[参数]无参无返;public static void 方法名(){方法体}无参有反public static 返回值类型 方法名(){方法体return 返回值}有参无反public static void 方法名(参数类型 参数){方法体}有参有反;public static 返回值类型 方法名(参数类型 参数){方法体return 返回值}应该使用什么类型的方法结构的判断技巧看是否需要从外部传入数据 → 需要就有参数看是否需要把结果返回给调用者 → 需要就有返回值如果只是内部操作不需要传出结果 → 无返回值void方法的参数传递一个方法只有一个返回值如果要返回多个同类型的返回值可以将其返回值封装成一个数组如果返回值的类型不相同就不能使用数组了可以使用out参数来返回不同类型的返回值使用out参数时必须在方法内部为其赋值ref参数能够将一个变量带入到一个方法中进行改变改变完成后在将改变后的值带出方法要求在方法外必须为其赋值而方法内可以不赋值方法里不允许写其他方法原则上不可以调用自己本身递归调用的时候是可以的但是可以调用其他方法七面向对象1.面向过程面向的是完成这件事的过程主要强调的是完成这件事的动作面向对象而面向对象就是不用自己做做一个对象来帮你完成这件事面向对象强调的是一个实体面向过程强调的是一个过程2.类与对象什么是类类是 C# 面向对象编程的基础1.是模板定义对象的结构和行为2.包含成员字段、属性、方法、构造函数等3.支持三大特性封装、继承、多态4.需要实例化通过new关键字创建对象使用方法public class 类名{字段属性方法}3.属性本质就是两个方法一个是get一个是set一个属性可以不需要set但是一定要getpublic公共的哪里都可以访问private私有的只能在当前类中访问八.构造方法方法的重载在同一个类中方法名相同参数列表不同个数类型顺序与返回值无关参数如果个数一样那么类型就不能一样如果类型相同那么个数就不能相同如果个数一样类型一样顺序不一样也是可以的但前提是类型顺序不同且不能造成歧义2.构造函数没有返回值不用写void,构造函数的名称和类名是一样的构造函数是可以有重载的可以有参数在new对象的时候传递函数参数就行3.this 当局部变量和成员变量的命名重复了就可以用this来区分。this被哪个对象所调用 this就代表哪个对象this也可以用于在构造函数中调用其他的构造函数语法 this4.static是非常重要的关键字用于声明属于类型本身而非实例的成员。被static修饰的成员称为静态成员。static不能修饰实例构造函数类型内部是非成员静态成员和实例成员核心区别特性静态成员实例成员所属属于类本身属于对象实例内存分配程序启动时分配只分配一次每次创建对象时分配访问方式通过类名访问通过对象名访问生命周期整个程序运行期间从对象创建到销毁共享性所有对象共享一份每个对象独立一份静态方法只能访问静态成员不能访问实例成员不需要创建对象就可以使用