C# - 常量和文字

常量是指程序在执行期间不会改变的固定值.这些固定值也称为文字.常量可以是任何基本数据类型,如整数常量,浮点常量,字符常量或字符串文字.也有枚举常量.

常量被视为常规变量,除了它们的值在定义之后无法修改.

Integer文字

整数文字可以是十进制或十六进制常量.前缀指定基数或基数:十六进制为0x或0X,十进制没有前缀id.

整数文字也可以有一个后缀,即U和L的组合,对于无符号和长,分别.后缀可以是大写或小写,可以是任何顺序.

以下是整数文字和减号的一些示例;

212         /* Legal */
215u        /* Legal */
0xFeeL      /* Legal */


关注是各种类型的整数文字和减号的其他例子;

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


浮点文字

浮点文字有一个整数部分,一个小数点,一个小数部分和一个指数部分.您可以用十进制形式或指数形式表示浮点文字.

以下是浮点文字的一些示例 :

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).这里是一些转义序列代码的列表 :

转义序列含义
\\\ character
\''character
"character
\?character
\ aAlert or bell
\ bBackspace
\fForm feed
\\ \\ nNewline
\ rCarriage return
\ tHorizontal tab
\vVertical tab
\ xhh. . .Hexadecimal number of one or more digits

以下是示例显示少量转义序列字符 :

using System;

namespace EscapeChar {
   class Program {
      static void Main(string[] args) {
         Console.WriteLine("Hello\tWorld\n\n");
         Console.ReadLine();
      }
   }
}


编译并执行上述代码时,会产生以下结果 :

Hello World


String Literals

字符串文字或常量用双引号""或@""括起来.字符串包含与字符文字类似的字符:普通字符,转义序列和通用字符.

您可以使用字符串文字将长行分成多行并使用空格分隔部分.

以下是字符串文字的一些示例.所有三种形式都是相同的字符串.

"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