C#常量

常量和我们前面介绍的《变量》类似,唯一不同的是常量的值在程序的编译阶段就已经确定了,而且在程序的运行期间不允许修改。常量可以是任何基本数据类型,例如整数常量、浮点常量、字符串常量等等。

定义常量

常量需要使用 const 关键字定义,语法格式如下所示:

const data_type constant_name = value;

其中,data_type 为常量的数据类型;constant_name 为常量名(类似于变量名);value 为常量的值。

下面通过示例来演示程序中常量的定义和使用:
using System;

namespace c.biancheng.net
{
    class Demo
    {
        static void Main(string[] args){
            const double pi = 3.14;     // 定义一个常量
           
            double r;
            Console.WriteLine("本程序可以计算圆的面积,请输入一个数字作为圆的半径: ");
            r = Convert.ToDouble(Console.ReadLine());
           
            double areaCircle = pi * r * r;
            Console.WriteLine("半径为: {0}, 圆的面积为: {1}", r, areaCircle);
            Console.ReadKey();
        }
    }
}
运行结果如下:

本程序可以计算圆的面积,请输入一个数字作为圆的半径:
11
半径为: 11, 圆的面积为: 379.94

整数常量

整数常量可以是八进制、十进制或者十六进制,可以使用前缀指定具体的进制,例如 0x 0X 表示十六进制,0 表示八进制,没有前缀则表示十进制。

除了前缀外,整数常量还可以包含后缀,后缀可以是 U 和 L 的组合,U 和 L 分别表示 unsigned 和 long。后缀既可以大写也可以小写,而且可以以任意顺序进行组合,但是不能重复。

下面列举了一些整数常量的示例:
85    // 合法:十进制常量
0213  // 合法:八进制常量
0x4b  // 合法:十六进制常量
30    // 合法:int 类型常量
30u   // 合法:无符号 int 类型常量
30l   // 合法:long 类型常量
30ul  // 合法:无符号 long 类型常量
068   // 非法:8 不是一个八进制数字
032UU  // 非法:后缀不能重复

浮点常量

浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以用小数或指数形式来表示浮点常量。

下面列举了一些浮点常量的示例:
3.14159       // 合法
314159E-5L    // 合法
510E         // 非法:不完全指数
210f         // 非法:没有小数或指数
.e55         // 非法:缺少整数或小数
当使用小数形式表示浮点常量时,必须包含小数点、指数或同时包含两者。当使用指数形式表示浮点常量时,必须包括整数部分、小数部分或同时包含两者。有符号的指数使用 e 或 E 表示。

字符常量

字符常量需要使用单引号括起来,类似于定义字符串类型的变量,例如 'x'。一个字符常量可以是一个普通字符(例如 'x')、转义序列(例如'\t')或 Unicode 字符(例如'\u02C0')。

C# 中,有些字符前面带有一个反斜杠,这样的字符具有特殊含义,例如 \n 用于表示换行符、\t 表示制表符。下表中列举了一些常用的转义字符:

转义序列 含义
\\ \ 字符
\' ' 字符
\" " 字符
\? ? 字符
\a Alert 或 bell
\b 退格键(Backspace)
\f 换页符(Form feed)
\n 换行符(Newline)
\r 回车
\t 水平制表符 tab
\v 垂直制表符 tab
\ooo 一到三位的八进制字符
\xhh . . . 一个或多个数字的十六进制字符

下面通过示例演示一下转义字符的使用:
using System;

namespace c.biancheng.net
{
    class Demo
    {
        static void Main(string[] args){
            Console.WriteLine("C语言中文网\thttp://c.biancheng.net\n\n");
            Console.ReadLine();
        }
    }
}
运行结果如下:

C语言中文网     http://c.biancheng.net

字符串常量

字符串常量需要使用双引号 " " @" " 引起来。字符串常量与字符常量相似,可以是纯字符、转义序列或 Unicode 字符。

下面列举了一些字符串常量。(下面各种形式的字符串常量都表示相同的字符串)

"C语言中文网";    
@"C语言中文网";   
"C语言 \t 中文网";
@"C语言 \t 中文网";
@"C语言
中文网";