为静态类的类成员分配条件值

Sil*_*ght 2 c# class constants

这是我的课:

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

        public const string apiHash_const = "111111";
    }
}
Run Code Online (Sandbox Code Playgroud)

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

if(Layer_ver_const == "23")
{
  apiHash_const = "111111";
}
else if(Layer_ver_const == "50")
{
  apiHash_const = "222222";
}
else
{
  apiHash_const = "333333";
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Mat*_*lak 5

恐怕你不能在运行时做到这一点。但是您始终可以将常量关键字更改为staticorstatic 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";
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您想了解constantstatic readonly结帐之间的区别,请查看此链接:

静态只读与常量