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