csharp:用户常量

C# 常量 (Constants)

常量是编程中用于存储固定值的标识符。在程序执行期间,常量的值不能被改变。合理使用常量可以提高代码的可读性和可维护性,避免代码中出现“魔术数字”。

  • 不可变性:常量一旦定义并赋值,在后续的代码执行过程中无法修改。
  • 类型支持:常量可以是任何基本数据类型,例如整数 (`int`)、浮点数 (`double`, `float`)、字符 (`char`)、字符串 (`string`),也可以是枚举 (`enum`)。
  • 编译时解析:常量的值必须在编译时确定。

使用 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";
}
  • 安全性:防止程序在运行过程中意外修改关键数据。
  • 可维护性:如果 `Pi` 的精度需要调整,只需修改定义处的一行代码,所有引用该常量的地方都会自动更新。
  • 可读性:使用 `MaxRetryCount` 比直接在代码里写 `5` 更容易让人理解代码的意图。

该主题尚不存在

您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。

  • csharp/用户常量.txt
  • 最后更改: 2025/11/21 10:40
  • 张叶安