常量是编程中用于存储固定值的标识符。在程序执行期间,常量的值不能被改变。合理使用常量可以提高代码的可读性和可维护性,避免代码中出现“魔术数字”。
使用 const 关键字来定义常量。
语法格式:
const <数据类型> <常量名称> = <值>;
注意事项: * 常量必须在声明时立即初始化(赋值)。 * 习惯上,常量名称通常使用 PascalCase(帕斯卡命名法)或者全大写(视团队规范而定)。
这是最常见的使用场景,用于定义数学常数或配置阈值。
public class MathUtils { // 用户提供的示例:定义一个双精度浮点常量 public const double Pi = 3.125; // 定义整型常量 public const int MaxRetryCount = 5; }
在处理字符串常量时,C# 提供了两种方式:常规字符串和逐字字符串(Verbatim Strings)。
| 类型 | 语法特征 | 示例 | 说明 |
|---|---|---|---|
| 常规字符串 | 使用双引号 `““` | `”Hello\tWorld”` | 需要使用反斜杠 `\` 转义特殊字符(如换行、制表符)。 |
| 逐字字符串 | 使用 `@` 前缀 | `@“Hello World”` | 忽略转义符,字符串原样输出,常用于文件路径或多行文本。 |
详细对比示例(参考图片内容):
public void StringExamples() { // 1. 常规字符串:需要转义 // 输出: hello world (中间有制表符) string c = "hello \t world"; // 2. 逐字字符串:原样输出 // 输出: hello \t world (直接输出字符 \t) string d = @"hello \t world"; // 3. 处理双引号 // 常规:需要用 \" 表示引号 string e = "Joe said \"Hello\" to me"; // 逐字:需要用 "" (两个双引号) 表示一个引号 string f = @"Joe said ""Hello"" to me"; // 4. 处理文件路径 (最常用场景) // 常规:必须使用 \\ 来表示反斜杠 string g = "\\\\server\\share\\file.txt"; // 逐字:直接书写路径,可读性更高 string h = @"\\server\share\file.txt"; // 5. 多行字符串 // 常规:需要使用 \r\n string i = "one\r\ntwo\r\nthree"; // 逐字:直接换行书写 string j = @"one two three"; }