我想从数组中取出第一个元素,并根据它的字母给它一个值

本文关键字:一个 数组 元素 第一个 | 更新日期: 2023-09-27 18:34:10

这是我目前拥有的代码:

int firstCityMiles;
    if (words[1] == "A")
    {
        firstCityMiles = 0;
    }
    else if (words[1] == "B")
    {
        firstCityMiles = 450;
    }

我想从数组中取出第一个元素,并根据它的字母给它一个值。但是,可能有一种更好的方法来执行此操作,它不包含许多冗余的 if 语句。

我想从数组中取出第一个元素,并根据它的字母给它一个值

你需要的是一个字典来存储你的字母到数字的映射:

var dict = new Dictionary<string, int>{ {"A", 0}, {"B", 450}};
int firstCityMiles = dict[words[0]];

不要忘记数组中的第一个元素具有索引0

您可以使用开关来选择值:

int firstCityMiles;
switch (words[0]) {
  case "A": firstCityMiles = 0; break;
  case "B": firstCityMiles = 450; break;
  case "C": firstCityMiles = 600; break;
  case "D": firstCityMiles = 750; break;
  case "E": firstCityMiles = 850; break;
  default: firstCityMiles = 0; break;
}

您可以使用一系列条件运算符:

string first = words[0];
int firstCityMiles =
  first == "A" ? 0 :
  first == "B" ? 450 :
  first == "C" ? 600 :
  first == "D" ? 750 :
  first == "E" ? 850 :
  0;

(请注意,数组中的第一项具有索引 0。