基础语法
有符号数可以表示负数,无符号数仅能表示正数,在其类型名称前面加上了u字符则为无符号类型
默认的整型是int类型
常量: const 数据类型常量名=值
不兼容类型转换: Convert.ToDouble 转换为double类型
修饰符、修饰符
访问修饰符修饰符 数据类型字段名;
●访问修饰符:
1. public 任何代码访问
2. private同-类代码访问,(默认)
3. internal仅同一个项目中代码访问
4. protected 只能由类或派生类中的代码访问
●修饰符
1. redonly 只能读取该字段的值而不能给字段赋值
2. static 静态字段,可以直接通过类名访问该字段‘类名.类成员"
get和set方法
简写: public 数据类型属性名{get;set;}只读属性直接省略set访问器即可
析构方法
是在垃圾回收、释放资源时使用的,在程序结束后自动被调用的
1 ~类名(
2{
3语句块;
参数
●引用参数: ref关键字
引用参数与我们平时使用的参数类似
●输出参数: out 关键字
带输出参数的形式参数赋值
lambda表达式
访问修饰符修饰符返回值类型 方法名(参数列表) =>表达式;
嵌套类
调用需使用"外部类.嵌套类”
若为静态成员,则通过“外部类.嵌套类.静态成员”
部分类
访问修饰符修饰符partial class类......
当-个类中的内容较多时将相似类中的内容拆分到不同的类中,并且部分类的名称必须相同控制台操作
方法
描述
Write向控制台输出内容后不换行WriteLine向控制台输出内容后换行Read
从控制台上读取一个字符
ReadLine从控制台 上读取一-行字符
Console.Write(格式化字符串,输出项,输出项2);
格式化字符串中使用(索引号}的形式,索引号从0开始。输出项1填充{0}位置的内容,依此类推
Math类
方法
描述
Abs取绝对值
Ceiling返回大于或等 于指定的双精度浮点数的最小整数值Floor返回小于或等于指定的双精度浮点数的最大整数值Equals返回指定的对象实例是否相等
Max
返回两个数中较大数的值
Min
返回两个数中较小数的值
Sqrt
返回指定数字的平方根
方法
描述
Round返回四舍五入后的值
DateTime
方法
描述
Date
获取实例的日期部分
Day
获取该实例所表示的日期是一个 月的第几天
DayOfWeek
获取该实例所表示的日期是一周的星期几
DayOfYear
获取该实例所表示的日期是一年的第几天
Add(Timespan value)
在指定的日期实例上添加时间间隔值value
AddDays(double value)
在指定的日期实例上添加指定天数value
AddHours(double value)在指定的日期实例上添加指定的小时数value AddMinutes(double value)在指定的日期实例 上添加指定的分钟数value AddSeconds(double value)在指定的日期实例 上添加指定的秒数value AddMonths(int value)
在指定的日期实例上添加指定的月份value
AddYears (int value)
在指定的日期实例上添加指定的年份value
字符串
1. Parse 方法用于将字符串类型转换成任意类型
数据类型变量二数据类型.Parse(字符串类型的值); int num1 = int . Parse (Console. Readl ine(];
继承类
使用:完成类继承
访问修饰符class ClassA:ClassB 子类调用父类: base.父类成员
重写父类方法: override
pubLic override int Area (int x,int y)
在子类中重写父类中的方法后能改变方法体中的内容,但是方法的定义不能改变
定义为继承类可重写: virtual
通常将类中的成员定义成虚拟的,表示这些成员将会在继承后重写其中的内容
声明抽象类或抽象方法: abstract通常抽象类会被其他类继承,并重写其中的抽象方法或者虚方法 密封类: sealed 密封类不能被继承,密封方法不能被重写
子类调用父类无参构造器:直接在构造器后面使用"base(参数)” 的形式即可
接口
使用:完成接口
interface接口名称名称:通常是以|开头
●接口中的成员不允许使用 public. private. protected. internal 访问修饰符(因为接口 是需要外面接口去实现方法体,所以其修饰符必定是public, C#默认为public)
●接口中的成员不允许使用new. static. virtual、 abstract. sealed 修饰符(当-个接口继承另一个接口时,可用new关键词隐藏父接口中的方法)
●在接口中不能定义字段
●在接口中定义的方法不能包含 方法体
规定不能直接创建接口的实例,只能通过类实现接口中的方法
接口和继承的区别
臼继承实现”是不是”,接口则为"有没有”
自继承自“抽象类",只能继承单个,而接口则可以为多个
集合
ArrayList()
使用{}中的值即集合中存入的值
泛型
泛型是在System.Collections.Generic
用同一个方法来处理传入不同种类型参数的办法 Nullable <int>或int
交互模式
C/S:客户机(Client)/服务器模式B/S:浏览器(Browser)/服务器模式
预处理指令
#region .. #endregion生成可折叠的代码块
静态和非静态区别
非静态类中,可以有实例成员(非静态成员),也可有有静态成员o调用实例成员对象名实例成员
凉调用静态成员类名.静态成员
静态函数中,只能访问静态成员,不允许访问实例成员实例函数中,既可以使用静态成员,也可以使用实例成员静态类中只允许有静态成员,不允许出现实例成员
。使用:
将类当作"工具类”使用时考虑将其写成工具类静态类在整个项目中资源共享
构造函数
作用:帮助我们初始化对象(给对象的每个属性依次的赋值)构造函数是一个特殊的方法
p构造函数没有返回值,void也不能写
p构造函数的名称必须跟类名-样
p访问修饰符必须是public
创建对象的时候会执行构造函数
new关键字
1.在内存中开辟一 片空间
2在开辟的空间中创建对象
3.调用对象的构造函数进行初始化对象
this关键字.
1.代表当前类的对象
2在类当中显示的调用本类的构造函数 :this