枚举
介绍:
枚举是用户定义的整数类型。在声明一个枚举时,要指定该枚举的实例可以包含的一组可接受的值。不仅如此,还可以给值指定易于记忆的名称。如果在代码的某个地方,要试图把一个不在可接受范围内的值赋予枚举的一个实例,编译器就会报告一个错误。
从长远来看,创建枚举可以节省大量时间,减少许多麻烦。使用枚举比使用无格式的整数至少有如下3个优势:
如上所述,枚举可以使代码更易于维护,有助于确保给变量指定合法的、期望的值。
枚举使代码更清晰,允许用描述性的名称表示整数值,而不是用含义模糊、变化多端的数 来表示。
枚举也使代码更易于输入。在给枚举类型的实例赋值时, Visual Studio .NET IDE会通过 IntelliSense弹出一个包含可接受值的列表框,减少了按键次数,并能够让我们回忆起可选 的
在C#中,枚举的真正强大之处是它们在后台会实例化为派生于基类System.Enum的结构。这表示可以对它们调用方法,执行有用的任务。注意因为.NET Framework的执行方式,在语法上把枚举当作结构不会造成性能损失。实际上,一旦代码编译好,枚举就成为基本类型,与int和float类似。
名称空间:
如前所述,名称空间提供了一种组织相关类和其他类型的方式。与文件或组件不同,名称空间是一种逻辑组合,而不是物理组合。在C#文件中定义类时,可以把它包括在名称空间定义中。以后,在定义另一个类(在另一个文件中执行相关操作)时,就可以在同一个名称空间中包含它,创建一个逻辑组合
名称空间与程序集无关。同一个程序集中可以有不同的名称空间,也可以在不同的程序集中定义同一个名称空间中的类型。
using语句:
显然,名称空间相当长,输入起来很繁琐,用这种方式指定某个类也不总是必要的。如本章开头所述,C#允许简写类的全名。为此,要在文件的顶部列出类的名称空间,前面加上using关键字。在文件的其他地方,就可以使用其类型名称来引用名称空间中的类型了:
别名:
using关键字的另一个用途是给类和名称空间指定别名。如果名称空间的名称非常长,又要在代码中多次引用,但不希望该名称空间的名称包含在using指令中就可以给该名称空间指定一个别名
Main()方法:
C#程序是从方法Main()开始执行的。这个方法必须是类或结构的静态方法,并且其返回类型必须是int或void。
虽然显式指定public修饰符是很常见的,因为按照定义,必须在程序外部调用该方法,但我们给该入口点方法指定什么访问级别并不重要,即使把该方法标记为private,它也可以运行。
多个Main()方法:
在编译C#控制台或Windows应用程序时,默认情况下,编译器会在类中查找与上述签名匹配的Main()方法,并使这个类方法成为程序的入口点。如果有多个Main)方法,编译器就会返回一个错误消息。