- C# 基础教程
- C# - 首页
- C# - 概述
- C# - 环境
- C# - 程序结构
- C# - 基本语法
- C# - 数据类型
- C# - 类型转换
- C# - 变量
- C# - 常量
- C# - 运算符
- C# - 决策
- C# - 循环
- C# - 封装
- C# - 方法
- C# - 可空类型
- C# - 数组
- C# - 字符串
- C# - 结构体
- C# - 枚举
- C# - 类
- C# - 继承
- C# - 多态
- C# - 运算符重载
- C# - 接口
- C# - 命名空间
- C# - 预处理器指令
- C# - 正则表达式
- C# - 异常处理
- C# - 文件I/O
C# - 常量和字面量
常量指的是程序在其执行过程中不能更改的固定值。这些固定值也称为字面量。常量可以是任何基本数据类型,例如整数常量、浮点常量、字符常量或字符串字面量。还有枚举常量。
常量与普通变量一样,只是它们的定义后其值不能被修改。
整数字面量
整数字面量可以是十进制或十六进制常量。前缀指定基数或基:十六进制为 0x 或 0X,十进制没有前缀。
整数字面量也可以带有后缀,该后缀是 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)等。以下是一些此类转义序列代码的列表:
转义序列 | 含义 |
---|---|
\\ | \ 字符 |
\' | ' 字符 |
\" | " 字符 |
\? | ? 字符 |
\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: 3 Radius: 3, Area: 28.27431