概述
常量指的是程序在执行过程中不可更改的固定值。这些固定的值也被称为字面量。常量可以是任何基本数据类型,比如整型常量、浮点常量、字符常量或字符串字面量。还有枚举常量。
除了其值在定义后不能被修改之外,常量的处理方式与普通变量相同。
整型字面量
整型字面量可以是十进制或十六进制常量。前缀指定了基数或基数:0x 或 0X 表示十六进制,没有前缀表示十进制。
整型字面量还可以有一个由 U 和 L 组成的后缀,分别表示无符号和长整型。后缀可以是大写或小写,并且可以以任意顺序出现。
这里有一些整型字面量的例子:
以下是不同类型整型字面量的其他例子:
浮点字面量
浮点字面量包含整数部分、小数点、分数部分和指数部分。您可以以十进制形式或指数形式表示浮点字面量。
以下是一些浮点字面量的例子:
在以十进制形式表示时,必须包含小数点、指数或两者;而在使用指数形式表示时,必须包含整数部分、分数部分或两者。带符号的指数由 e
或 E
引入。
字符常量
字符字面量被单引号括起来。例如 'x'
可以存储在一个简单的 char
类型变量中。字符字面量可以是一个普通的字符(如 'x'
),一个转义序列(如 \t
),或者一个通用字符(如 \u02C0
)。
在 C# 中,某些字符在前面加上反斜杠时具有特殊的含义,它们被用来表示换行 (\n
) 或制表符 (\t
) 等。以下是一些转义序列的列表:
转义序列 |
含义 |
\\ |
反斜杠字符 |
\' |
单引号字符 |
\" |
双引号字符 |
\? |
问号字符 |
\a |
警告或铃声 |
\b |
退格 |
\f |
换页 |
\n |
新行 |
\r |
回车 |
\t |
水平制表符 |
\v |
垂直制表符 |
\xhh ... |
十六进制数的一个或多个数字 |
以下是一个演示一些转义序列字符的例子:
using System;
namespace EscapeChar {
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello\tWorld\n\n");
Console.ReadLine();
}
}
}
当上述代码被编译和执行时,它会产生以下结果:
Hello World
字符串字面量
字符串字面量或常量被双引号 ""
或 @""
括起来。字符串包含类似于字符字面量的字符:普通字符、转义序列和通用字符。
您可以使用字符串字面量将长行分成多行,并使用空白字符分隔各部分。
以下是一些字符串字面量的例子。所有三种形式都是等同的字符串:
定义常量
常量使用 const
关键字定义。定义常量的语法如下:
const <data_type> <constant_name> = value;
以下程序演示了在程序中定义和使用常量:
using System;
namespace DeclaringConstants {
class Program {
static void Main(string[] args) {
const double pi = 3.14159;
double r;
Console.WriteLine("Enter Radius: ");
r = Convert.ToDouble(Console.ReadLine());
double areaCircle = pi * r * r;
Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);
Console.ReadLine();
}
}
}
当上述代码被编译和执行时,它会产生以下结果:
Enter Radius:
3
Radius: 3, Area: 28.27431