上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
实例009 计算圆形的面积——常量
【实例描述】
本实例主要介绍C#中常量的用法,常量存放在程序中,不会发生数据的改变。如果在程序中对常量进行修改,则会出现编译错误。实例中定义了圆形类,在该类型中声明了圆周率和半径,还声明了计算圆形面积的函数。计算圆形面积的效果如图2-6所示。
图2-6 输出圆形面积
【实现过程】
(1)创建一个名为CircleArea的控制台应用程序,定义圆形类,代码如下:
class Circle { const double PI = 3.1415926f; //圆周率 public readonly int Radius = 1; //半径 public Circle(int radius) { Radius = radius; } //构造函数 public double Area() { return PI * Radius * Radius; } //计算圆形面积 }
(2)在main函数中创建圆形实例,计算圆形面积,代码如下:
Circle circle = new Circle(10) ; //创建一个半径为10的圆形实例 Console.WriteLine("半径为{0}的圆形面积为{1}", circle.Radius,circle.Area());//输出圆形面积
【代码解析】
实例代码中创建了一个名为Circle的圆形类,该类中声明了double型常量PI,表示圆周率,其值恒为3.1415926。Circle类中还声明了int型只读字段Radius,表示圆形的半径。
声明常量时在其数据类型前面加上 const 关键字,声明时必须对常量进行赋值,编译器在编译时将使用常量的地方直接用其值进行替换。
声明只读字段时使用readonly关键字,只读字段在声明时或构造时进行赋值,值一旦确定,在程序中将无法对其进行修改。只读字段并不会像常量那样在编译时直接用其值将其代替,而是在程序运行时为其赋值。
技巧:根据常量和只读字段的不同特点,在使用时也应该注意,像圆周率这样永恒不变的量适合使用常量,而像半径这样不是恒定不变,但在其使用过程中值不变的数据可以使用只读字段。