c# - 将条件值分配给静态类的类成员

标签 c# class constants

这是我的类(class):

namespace My.Core
{
    public static class Constants
    {
        public const string Layer_ver_const = "23";

        public const string apiHash_const = "111111";
    }
}

现在我想为 apiHash_const 设置条件值。
意思是:

if(Layer_ver_const == "23")
{
  apiHash_const = "111111";
}
else if(Layer_ver_const == "50")
{
  apiHash_const = "222222";
}
else
{
  apiHash_const = "333333";
}

我该怎么做?

最佳答案

恐怕你不能在运行时这样做。但是您始终可以将常量关键字更改为 staticstatic readonly,此代码将起作用。

public static class Constants
{
    public const string Layer_ver_const = "23";

    public static readonly string apiHash_const;

    static Constants()
    {
       if(Layer_ver_const == "23")
       {
         apiHash_const = "111111";
       }
       else if(Layer_ver_const == "50")
       {
         apiHash_const = "222222";
       }
       else
       {
         apiHash_const = "333333";
       }
    }
}

如果您想知道 constantstatic readonly 之间的区别,请查看此链接:

Static readonly vs const

关于c# - 将条件值分配给静态类的类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37366249/

相关文章:

c# - 使用查询或代码

c# - ViewBag SelectList 中的选定值不起作用

ios - let (constant) 表现得像一个函数的语法。你可以解释吗?

c# - WCF、接口(interface)返回类型和 KnownTypes

c# - 如何在 visual studio 中为 c# 文件中的所有行设置断点?

Python - 解构函数不删除对象实例

c# - 构建 C# 类的最佳方式

python - 在Python中如何区分这个类中什么是方法,什么是对象构造函数?

C++ this 和常量对象

c++ - C 提示将 char** 值传递给采用 char const*const*const 的函数,但 C++ 没有