位置:首页 > 高级语言 > C#在线教程 > C#常量和文字

C#常量和文字

常数是指该程序可能无法在其执行期间改变的固定值。这些固定值也被称为文字。常量可以是任何像一个整型常量,一个浮点常量,字符常量或字符串文字的基本数据类型。还有也可以是枚举常量。

常量是一样,只是它们的值不能自己定义后进行修改常规变量处理(如:修改)。

整数字面量

一个整数字面量可以是十进制,八进制,或十六进制常数。前缀指定基或基数:0x或0X的十六进制,0表示八进制,并要求十进制没有前缀标识。

一个整数文字(字面量)也可以有一个后缀为U和L的组合,无符号和长分别。后缀可以是大写或小写,并且可以以任意顺序。

这里是整数常量的一些例子:

212         /* Legal */
215u        /* Legal */
0xFeeL      /* Legal */
078         /* Illegal: 8 is not an octal digit */
032UU       /* Illegal: cannot repeat a suffix */

以下是不同类型的整型常量的其他例子:

85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

浮点文本(字面量)

浮点字面值具有一个整数部分,一个小数点,一个小数部分,和一个指数部分。可以表示十进制形式或指数形式浮点文字。

下面是浮点字面值的一些例子:

3.14159       /* Legal */
314159E-5L    /* Legal */
510E          /* Illegal: incomplete exponent */
210f          /* Illegal: no decimal or exponent */
.e55          /* Illegal: missing integer or fraction */

同时采用十进制形式表示,则必须包括小数点,指数,或两者并用而指数形式表示,必须包括整数部分,小数部分,或者两者兼而有之。无符号的指数,通过e或E介绍

字符常量

字符文字用单引号,例如,'x',并可以存储在char类型的一个简单的变量。字符文字可以是一个普通的字符(例如,'x'),转义序列(如“ '),或通用字符(例如,'u02C0')。

有一些字符在C#中,当前面加一个反斜杠将有特殊的含义,它们被用来表示类似的换行符( )或制表符( )。在这里,有一些这样的转义序列代码的列表:

转义序列 含义
\ 字符
' ' 字符
" " 字符
? ? 字符
a 警报或铃
 退格
f 换页
换行符
回车
水平制表
v 垂直制表
ooo 一到三位数字的八进制数
xhh . . . 一个或多个数字的十六进制数

以下为例子来说明一些转义字符序列:

namespace EscapeChar
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello	World

");
            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: 
3
Radius: 3, Area: 28.27431