常量是指程序在执行过程中可能不会改变的固定值。这些固定值也称为文字。 常量可以是任何基本数据类型,如整数常量,浮点常量,字符常量或字符串文字。还有枚举常数。
常量被视为常规变量,常量的值在定义之后是不能被修改的。
整数文字
整数文字(常量)可以是十进制或十六进制常数。前缀指定基数:十六进制的0x或0X,十进制的前缀不存在。
整数常量也可以具有分别为unsigned和long,使用U和L后缀来表示。 后缀可以是大写或小写,可以是任何顺序。
以下是一些整数文字的例子:
212         /* 合法 */
215u        /* 合法 */
0xFeeL      /* 合法 */
以下是各种类型的整数文字的其他示例:
浮点文字
浮点文字具有整数部分,小数点,小数部分和指数部分。 您可以以十进制形式或指数形式表示浮点文字。
以下是浮点文字的一些示例:
3.14159       /* Legal */
314159E-5F    /* Legal */
510E          /* Illegal: incomplete exponent */
210f          /* Illegal: no decimal or exponent */
.e55          /* Illegal: missing integer or fraction */
以十进制格式表示,则必须包括小数点,指数或两者; 并且在使用指数形式表示时,必须包括整数部分,小数部分或两者。有符号指数由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
字符串文字
字符串文字或常量用双引号""或@""括起来。字符串包含与字符文字类似的字符:纯字符,转义序列和通用字符。
可以使用字符串文字将长行分成多行,并使用空格分隔部分。
以下是字符串文字的一些示例。以下这三种形式都是表示相同的字符串。
"hello, dear"
"hello, \
dear"
"hello, " "d" "ear"
@"hello dear"
定义常量
常量是使用const关键字来定义的。定义常量的语法是:
const <data_type> <constant_name> = value;
以下程序演示如何在程序中定义和使用常量:
using System;
namespace DeclaringConstants
{
    class Program
    {
        static void Main(string[] args)
        {
            const double pi = 3.14159;   
            // constant declaration 
            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:
100
Radius: 100, Area: 31415.9
