C#基础总结
这是我的第一篇博客,就把自己学过的一些总结起来,如果有错,请联系我更改
1,命名规范
字段,本地变量用Camal命名法,即首字母小写,其他大写.
类型,方法,属性用Pascal命名法.
2,注释方法
行注释://
文档注释: ///
块注释:/* */
3,预定义类型
简单类型:11种数字类型(sbyte,byte,short,ushort,int,uint,long,ulong,double,decimal,float),char,bool
非简单类型:string,object,decimal
4,用户自定义类型
class,delegate,interface,enum,struct,array
5,值类型与引用类型
值类型:struct,enum,所有数值类型
引用类型:class,delegate,interface,array
6,访问修饰符
private(只能从类的内部访问)
internal(默认的,只能程序集中访问)
protected(只能子类访问)
internal protected(从相同程序集或子类中能访问)
public(哪里都能访问)
7,类成员
字段:用以存储数据,可以是任何类型,能自动初始化为默认值
属性:可读属性,可写属性,自动属性,可读可写属性
方法:参数类型,ref out params
8,关键字
this:调用类成员;显示调用构造函数
base:调用基类成员,调用基类构造函数
9,类型转换
隐式转换:低位数字类型变为高位数字类型,int to long;类或接口可以转换给object,实现的接口,类上;
显示转换:Convert方法,()target(转换失败会抛异常);as 运算符(转换失败不抛异常,返回null);可以用checked(失败会抛异常), unchecked语句检查是否会溢出
装箱:值类型转为引用类型
拆箱:引用类型转为值类型(装,拆箱会耗费性能,应该尽量避免)
10,委托
系统委托,Action<> 无返回值
Func<>有返回值
11,异常
用try catch 或try catch finally 或try finally
一个try只能有一个finally,可以有多个catch 无论如何,finally都会被执行
catch如果没有该异常的捕获,就会展开堆栈寻找是否有匹配的catch,都没有则抛出异常