【问题标题】:best approach to get input string and map it to a constant and use the constant c#获取输入字符串并将其映射到常量并使用常量 c# 的最佳方法
【发布时间】:2021-10-04 06:10:11
【问题描述】:

我有一个从黄瓜特征步骤输入的字符串,相应字符串的常量值应在后续代码中使用

例子:

我有一个输入字符串“region1”-它也可以是“Region1”

我需要将它映射到一个常量列表,因为该列表不会改变:

const regions = { region1="US", region2="IND", region3="UK" };

得到类似 getData(region1.value)

什么是最佳实践?常量还是只是列表或枚举?

【问题讨论】:

  • 我要parse to enum
  • 您不能在运行时创建 const - 它们是常量,因为它们在编译时被烘焙到应用程序中。

标签: c# cucumber constants


【解决方案1】:

有一个简单的方法。 在表单中的“加载”函数中,您可以创建一个数组(或列表或地图),其中所有控件具有相同的功能。使用此列表更容易。 更重要的是,您可以创建诸如“GetRegionValue(int index)”之类的函数。 我不确定您是否正在寻找这样的解决方案...

【讨论】:

    【解决方案2】:

    我想你想使用dictionary。这是满足您需求的最简单方法。 以下是一些示例,您可以如何使用它来满足您的需求(如果我没记错的话)

    Dictionary<string,string> regions = new Dictionary<string,string>
    {
      {"REGION1","US"},{"REGION2","UK"}...
    };
    foreach(var region in regions)
    {
      if(inputString.Equals(region.Key.ToUpper()))
        //do something
    }
    --
    public string GetData(string searchString){
      string returnData = "";
      if(regions.ContainsKey(searchString.ToUpper()))
        returnData = regions[searchString.Toupper()];
      return returnData;
    }
    

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多