关于常量的一般CS问题

2023-12-03

在使用 C 编程之后,我正在使用 C# 进行编程。所以我使用了很多常量,例如“DEFAULT_USER_ID”、“REMOTE_ADDRESS”等...

在我看来,使用这样的常量是相当“老式”的,也许还有其他更优雅的方法来在对象之间使用一些常量数据。

关于如何优雅地完成此操作有什么想法吗?

Thanks.


使用常量之类的东西DEFAULT_USER_ID仍然是“要走的路”(除非您希望它是可配置的,但那是另一个主题)。 -->const(C# 参考)

不要使用常量进行枚举(FILE_TYPE_DOC = 1, FILE_TYPE_XLS = 2,...)。这可以在 C# 中更优雅地完成enums:

enum FileType {
   Doc,
   Xls,   // or, optionally, "Xls = 2".
   ...
};

您还可以将其用于标志(可按位运算符组合的常量),这是 C 中常量的另一个常见用例:

[Flags]
enum FontDecoration {
    None = 0,
    Bold = 1,
    Italic = 2,
    Underline = 4
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于常量的一般CS问题 的相关文章

随机推荐

  • KnockoutJS:跟踪菜单点击

    我刚刚开始使用 KnockoutJS 它非常令人着迷 我成功创建了一些模板来渲染界面的两个面板 其中包含 ul 嵌套菜单 这是我的模板
  • WPF:列表框,使所选项目居中

    是否可以始终将所选项目保留在列表框的中间 如果用户选择一个项目 我想滚动以使新选择的项目位于中间 我想 边缘情况 第一个和最后几个项目 是可能的 但没关系 David Anson 在他的博客上发布了一些文章 可能会对您有所帮助 Part 1
  • jquery 将 $(this) 传递给其他函数

    High 我想要做的是 我有一个表 其中的 onclick 附加到驻留在偶数行表中的链接 每个奇数行都被隐藏 单击该链接时 会显示奇数行 并将数据加载到该行中 工作正常 现在我想做的是 每当该过程完成时 我想将一个新的单击功能附加到该链接
  • 修复此 if,else 语句

    问题似乎出在 第 18 行 警告 指针和整数之间的比较第 22 行 错误 else 之前的预期表达式 我究竟做错了什么 有更好的方法吗 include
  • QuickSort 的最坏情况 - 什么时候会发生?

    在分析QS时 大家总是提到 几乎排序 的最坏情况 自然输入什么时候会出现这样的场景 我想到的唯一例子是重新索引 我认为人们混淆了基于分区的排序算法 Quicksort 和各种库实现的 qsort 我更喜欢将快速排序算法视为具有可插入的主元选
  • MIPS32 路由器:内核模块未调用 module_init

    我正在开发一个要在路由器上运行的内核模块 路由器型号为 Netgear 的 DGN2200v2 它在 MIPS 上运行 Linux 2 6 30 我的问题是 当我加载模块时 似乎我的module init没有接到电话 我试图通过修改我的mo
  • Python获取2个日期时间对象之间的整小时值

    我有 2 个日期时间值 开始 和 结束 我想返回恰好位于两者之间 含 之间的所有日期时间的列表 例如 开始 为 09 30 结束 为 14 00 同一天 我想要返回的值是 10 00 11 00 12 00 13 00 14 00 我猜你要
  • Windows 7 上的 Ruby SSL 与 Twitter 在证书 OpenSSL 问题上失败

    我想访问 Twitter 在使用 Net HTTP 的 POST 函数时出现此错误 SSL connect returned 1 errno 0 state SSLv3 read server certificate B certifica
  • 当更新速度太快且需要更新太多数据时,UI 无响应

    我制作了一个控件来将来自不同线程的消息记录到屏幕上 它使用富文本框来显示格式化文本 当有 20 个线程每 200 250 毫秒追加一次消息时 主 UI 会在一段时间内变得无响应 并且在处理等待的消息后 UI 会再次开始响应 当线程运行时 窗
  • 如何在与 Laravel 加密兼容的 C# 中进行加密?

    我想知道如何在 C 中正确加密 Laravel PHP 可以用它的加密解密 这是我的 C 加密 private static readonly Encoding encoding Encoding UTF8 public static vo
  • Java - 如何连接到 Mac OS 上的“复制”和“粘贴”菜单

    我了解您可以 Where CustomMacOSXController implements implements MRJAboutHandler CustomMacOSXController macOSXController new Cu
  • 删除一篇文章并拉入下一页的第一篇文章

    我正在尝试建立一个带有分页系统的博客 例如每页 5 篇文章 分页本身一切都很好 但在每篇文章旁边我都添加了一个 删除 按钮 允许管理员动态删除 jquery 相关文章及其内容 我现在想要的是当我删除一篇文章时 附加 不刷新 下一页的第一篇文
  • 通过反射调用带有可选参数的方法

    我在使用带有可选参数的 C 4 0 时遇到了另一个问题 我如何调用一个函数 或者更确切地说是一个构造函数 我有ConstructorInfo对象 我知道它不需要任何参数 这是我现在使用的代码 type GetParameterlessCon
  • 添加引用对话框缺少 .NET Core 项目中的程序集部分

    我一直在创建我的第一个 NET Core 项目 在本例中 只是一个控制台应用程序 我注意到 当我右键单击依赖关系并选择添加参考 出现的对话框不再包含组件部分 在以前的版本中 此部分将列出所有 Microsoft 程序集并包含每个程序集的一些
  • Sybase BCP 与 MS SQL BCP

    我有一个需要使用的多数据库设置 并且两者都有自己的 bcp 版本 但其行为方式不同 另外 两者都在我的 PATH 中 并且 Sybase 列在 MS SQL exe 之前 因此从命令行调用 bcp 总是会命中 Sybase exe 首先 版
  • 将列值设置为 SQL 查询结果中的列名

    我想读取一个表 其中的值将是 sql 查询结果的列名 例如 我有 table1 作为 id col1 col2 0 name ax 0 name2 bx 0 name3 cx 1 name dx 1 name2 ex 1 name3 fx
  • 为什么我应该在并行流中使用并发特性和收集?

    为什么我应该在并行流中使用并发特性和收集 List
  • 为什么 onBeforeFirstShow 有效?

    我一直在学习主从演示 下面是一个片段Master controller js onInit function this getView addEventDelegate onBeforeFirstShow function this get
  • 无法加载文件或程序集“xxx”或其依赖项之一。尝试加载格式不正确的程序

    我刚刚将 Subversion 的修订版本签入了新文件夹 打开解决方案 运行时我得到这个 无法加载文件或程序集 xxxx 或其依赖项之一 试图加载格式不正确的程序 这与我不久前签入的代码相同 为什么现在它要这样做 我现在还在该 xxx 项目
  • 关于常量的一般CS问题

    在使用 C 编程之后 我正在使用 C 进行编程 所以我使用了很多常量 例如 DEFAULT USER ID REMOTE ADDRESS 等 在我看来 使用这样的常量是相当 老式 的 也许还有其他更优雅的方法来在对象之间使用一些常量数据 关