gpt4 book ai didi

c# - 索引一小部分值的正确方法

转载 作者:行者123 更新时间:2023-11-30 13:39:05 26 4
gpt4 key购买 nike

执行以下将 id 传递给方法的操作的最佳方法是什么。 case 语句好还是哈希表之类的某种集合更好?

private string GetCurrencySymbol(string code)
{
switch (code)
{
case "USD":
case "AUD":
case "CAD":
case "NAD":
case "NZD":
case "SGD":
case "HKD":
return "$";
case "GBP":
return "£";
case "NOK":
case "DKK":
case "SEK":
return "kr";
case "ZAR":
return "R";
case "JPY":
return "¥";
case "CHF":
return "CHF";
case "EUR":
return "€";
case "GHS":
return "¢";
case "BWP":
return "P";
case "INR":
return "₹";
case "KES":
return "KSh";
case "LSL":
return "L";
case "MUR":
return "Rs";
case "NGN":
return "₦";
case "MWK":
return "MK";
case "MZM":
return "MT";
case "PKR":
return "Rs";
case "PLN":
return "zł";
case "SZL":
return "L";
case "TZS":
return "Sh";
case "UGX":
return "Sh";
case "ZMK":
return "ZK";
default:
return "";
}
}

这个好像有点味道?它不经常访问,但看起来有点冗长。

最佳答案

switch 语句最终会被翻译成Dictionary。对于更复杂的示例(例如这个示例),直接进入该示例通常是有意义的。

Dictionary<string, string> currencyLookup = new Dictionary<string, string>();
currencyLookup["USD"] = "$";
//...

string currency = currencyLookup["INR"];

使用字典的一些优点:

  1. 如果您想将所有选项定义为文字,则需要的代码会少一些。 (特别是如果使用集合初始值设定项。)
  2. 您可以根据文件中的信息、数据库中的信息或其他一些外部源来填充字典,这样您不需要在代码中定义所有映射。除了使代码更简洁之外,这还让您无需重新编译程序即可添加/删除/更改货币。
  3. 您可以访问诸如 ContainsKey 之类的操作来了解特定键是否存在,而不是如果找不到则只返回一个空字符串(您仍然可以这样做)。

关于c# - 索引一小部分值的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13729954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com