【问题标题】:Is there some trick in C# to give some value a name?C# 中是否有一些技巧可以为某个值命名?
【发布时间】:2022-09-24 16:43:44
【问题描述】:

我来自 C/C++,使用过很多类似 #define OBJ_STATE_INPROCESS 2 的东西,所以在编写实际逻辑时你可以使用 state = OBJ_STATE_INPROCESS;,它的作用比 state = 2; 更明显,这使得代码更易于维护。
我想知道C#中是否有这样的技巧

  • 您是否在寻找: const int ObjStateInProgress = 2; ?

标签: c#


【解决方案1】:

尽管在技术上是一个不同的概念,但在 C# 中,您可以使用常量和枚举来避免“幻数”,例如

public static class Constants
{
  public const string MyConst = "ThisIsMyConst";
}

public enum MyEnum
{
  MyEnumValue1, 
  MyEnumValue2,
}

// Usage
var value = MyEnum.MyEnumValue2;

【讨论】:

  • 请将您的常量类标记为静态,否则可能会被实例化。
  • @PeterCsala 感谢您的提示-键入时忘记了这一点。我已经改变了样本。
猜你喜欢
  • 2017-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2015-03-06
  • 2012-09-30
相关资源
最近更新 更多