概述
在前面我们分别学习了《C#变量》和《C#隐式类型变量》,对C#的变量有了初步的认识和了解。
在C#语言中,除了上面提到的这两种变量外,还有另外一种与之对应的叫常量,它由const
关键字修饰。通常,C#语言的常量字段是在编译时设置的,并且这些值永远不会改变。
在C#编程语言中,如果使用const
关键字来声明一个变量,那么该字段的值在整个应用程序中都不能被更改,因此不应该对值随时会被更改的字段使用const
关键字。
常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。
常量可以被当作常规的变量,只是它们的值在定义后不能被修改。
常量的语法形式如下:
const 数据类型 常量名 = 值;
以下是在C#中声明一个常量的简单示例:
const double pi = 3.14159;
这里声明了一个名为pi
(数学里的圆周率π
)的变量,由于使用了关键字const
修饰,所以这个pi
成为了常量,它的值被设置成了3.14159
。
下面,我们举个实现生活中的实例。
我们都知道,圆面积的计算公式为:S=πr²
,那么在C#语言中的实现代码为:
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
const double pi = 3.14159;
int r = 3;
double area = pi * r * r;
Console.WriteLine("圆周率为: " + pi);
Console.WriteLine("圆面积为: " + area);
Console.ReadKey();
}
}
}
输出结果为:
圆周率为: 3.14159
圆面积为: 28.274309999999996
熟悉了以上数学中圆面积计算的示例之后,我们再以小轿车(奥边A4L)为例,一旦它被生产出来投入到市场,其属性就基本确定了,比如:有4个车轮,4个车门,1个方向盘,5个座位,生产日期是2020年4月,车名为奥迪,型号为A4L,最高车速为220km/h,是否为电子驻车为是,发动机马力2.0T。
以上这些属性我们都可以使用常量来定义,因为这些属性值一旦被定义之后,是不会再改变的。
那么请想一想,如何以常量来定义这辆奥迪A4L的各项属性参数呢?
参考示例代码请至本节结尾处查看。(由于还未学习关于类的是知识,这里不考虑类的定义)
在C#编程语言中,常量被声明时必须为其赋值,比如上面定义的pi
的常量是正确的:
const double pi = 3.14159;
常量不允许先声明后赋值,即不允许将一个常量的声明放到两条语句来完成,如下的写法是错误的:
const double pi;
pi = 3.14159;
编译器会报“常量字段需要提供一个值”的错误,如图:
常量一旦被定义,我们只可以使用这个常量,而不能修改这个常量pi
的值,如下修改常量的值的操作也是错误的:
const double pi = 3.14159;
pi = 3.14;
编译器会报“赋值号左边必须是变量、属性或索引器”的错误,如图:
与变量相同的是,一条语句中也可同时声明多个常量,如下:
const int num1 = 10, num2 = 20, num3 = 30;
Console.WriteLine(num1);
Console.WriteLine(num2);
Console.WriteLine(num3);
注:请确保一条语句中声明的相同数据类型的常量。
本节答案
奥迪A4L常量定义参考代码:
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
// 4个车轮
const int wheels = 4;
// 4个车门
const int door = 4;
// 1个方向盘
const int steeringWheel = 1;
// 5个座位
const int seatingCapacity = 5;
// 生产日期是2020年4月
const string dateOfManufacture = "2020-04";
// 车名为奥迪
const string name = "Audi";
// 型号为A4L
const string model = "A4L";
// 最高车速为220km/h
const int maxSpeedPerHour = 220;
// 是否为电子驻车为是
const bool isElectronicParking = true;
// 发动机马力
const double engineHorsePower = 2.0;
}
}
}
思考:
1.变量和常量的区别是什么呢?
2.变量和常量的特点分别是什么呢?
发表评论
登录用户才能发表评论, 请 登 录 或者 注册