编写这段代码的有效方法

Ali*_*Ali 0 c# performance

有经验的程序员怎么写这个...

SummonerPlatform = (SummonerRegion == Region.br) ? SummonerPlatform = Platform.BR1 : (SummonerRegion == Region.eune) ? SummonerPlatform = Platform.EUN1 :
                                (SummonerRegion == Region.euw) ? SummonerPlatform = Platform.EUW1 : (SummonerRegion == Region.kr) ? SummonerPlatform = Platform.KR :
                                (SummonerRegion == Region.lan) ? SummonerPlatform = Platform.LA1 : (SummonerRegion == Region.las) ? SummonerPlatform = Platform.LA2 :
                                (SummonerRegion == Region.na) ? SummonerPlatform = Platform.NA1 : (SummonerRegion == Region.oce) ? SummonerPlatform = Platform.OC1 :
                                (SummonerRegion == Region.ru) ? SummonerPlatform = Platform.RU : (SummonerRegion == Region.tr) ? SummonerPlatform = Platform.TR1 : SummonerPlatform = Platform.EUW1;
Run Code Online (Sandbox Code Playgroud)

Den*_*voy 7

要么像这样使用switch()语句:

 switch (SummonerRegion)
            {
                case Region.br:
                    SummonerPlatform = Platform.BR1;
                    break;
                case Region.eune:
                    SummonerPlatform = Platform.EUN1;
                    break;
                case ...
            }
Run Code Online (Sandbox Code Playgroud)

或创建这样的映射:

static Dictionary<Region, Platform> Mapping = new Dictionary<Region, Platform> { 
  {Region.br, Platform.BR1}, 
  {Region.eune, Platform.EUN1}, 
  ...
};
Run Code Online (Sandbox Code Playgroud)

然后在你的代码中使用它,如下所示:

SummonerPlatform=Mapping[SummonerRegion];
Run Code Online (Sandbox Code Playgroud)

仅当Region是枚举时,switch()方法才有效.如果没有,请使用第二种方法