C#常量

2021 更新于: 2021-06-01 读完约需 8 分钟

概述

在前面我们分别学习了《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.变量和常量的特点分别是什么呢?

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

本文永久链接码友网 » C#程序设计基础(入门篇) » C#常量 分享:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册