类是对数据结构和算法的封装。
一 类成员
类成员包括以下几类,作者在后面的章节会详细讲解。
字段(用来保存数据,可用static readonly const来修饰)、方法(操作数据的代码)、属性(用来控制对类内部变量的访问)、常量、索引器、事件和运算符。
二 访问修饰符
public 可被外部的类和派生类访问
protected 只能被派生类访问
private 外部的类和派生类都不能访问
internal 程序集内部可访问
不管类本身还是类成员默认的修饰符都是private
三 Main 函数
每个C#应用程序都必须有Main函数,Main函数是应用程序的入口,且必须用public和static修饰。对Main函数的位置没有限制,编译器会自行查找。
Main函数的参数为一个string[]数组。可以通过使用命令行调用一个应用程序的Main函数来运行程序。
Main函数还可以有int类型的返回值,这在目前的可视化应用程序中用处不大,但如果是批处理程序,可以借助这儿的返回值来指示运行结果、错误码等。
还可以编写多个Main函数来设置多个程序入口,使用命令行运行时,可以使用/main:<入口函数名称>来切换入口。
四 构造函数
在类被初始化时,构造函数会首先执行。构造函数无法设置返回值。
五 静态类型
静态类型在包含改成员的应用程序启动时就会被创建,知道程序被关闭时才被销毁,静态类型成员在类被实例化之前就可以访问了。静态成员在声明时必须被赋值,如果没有赋值,编译器会自动使用对应类型的默认值。
六 常量与只读类型的区别
常量,关键字const,常量在编译时就会被赋值,等号的右边只能是确定的值,不能是表达式。可以使用常量来代替代码中的魔数,以增加代码的可读性。
只读类型,在初始化时赋值,随后不可再变动。这适用于编译器无法确定值,但在初始化后不可被修改的情况。可以在构造函数为只读类型赋值。如果在构造函数赋值只读类型,意味使用着该变量前必须实例化类,如果像直接使用,可以在静态构造函数中为其赋值,变量的修饰符相应地也要改为static readonly