当前位置: 首页 > 面试题库 >

什么是好的switch语句替代方案?

王叶五
2023-03-14
问题内容

我有一个字符串数组,每个字符串包含3个字母。每3个字母(每个元素)对应一个唯一字母。我需要从字符串数组创建一个char数组。

我能想到的唯一方法是遍历字符串数组中的每个元素,并使用一个长的switch语句来确定其关联的单个字符。

还有什么其他方法可以实现?


问题答案:

如果是映射/查找,那么通常地图/词典可以解决您的问题。C#中的此类结构示例:

string[] inList = new[]{"bee", "kay", "kay", "eff" }; 
Dictionary<string, char> mapping = new Dictionary<string, char> 
   { 
       {"bee", 'b'},
       {"eff", 'f'},
       {"kay", 'k'},
   };

如果有这样的映射,则只需从映射中查找字母,或将整个字符串列表转换为chars数组即可。

char[] chars = inList.Select(s => mapping[s]).ToArray();

几乎所有语言都支持这种类型的数据结构,尽管并非所有语言都支持像最后一个代码片段这样的功能结构。在这种情况下,您需要循环来构建out数组。

编辑:看到您添加了Java标记。您可以在Java中完成相同的操作,然后您的字典将HashMap在Java中成为a
。因此,只需服用阿司匹林,看看如何初始化静态地图?



 类似资料:
  • rank ▲ ✰ vote url 62 370 162 300 url Python中用什么代替switch语句? 我想写一个函数,实现输入一个值对应输出另一个值. 在其他语言我可以用switch或者case语句,但是Python里没有switch.Python里如何解决这个问题? 你可以用一个字典: def f(x): return { 'a': 1,

  • 问题内容: 我现在正在使用Entity Framework,并且由于实体框架不支持全文搜索和其他功能,因此经常不得不编写内联sql。是否有一个具有许多支持高级查询功能的ORM?我觉得如果我有时要编写内联sql,那么我也最好在内联sql中做所有这些事情。这里有什么帮助 问题答案: 看一眼: 在DataObjects.Net中的LINQ查询。如果您对最复杂的部分感兴趣,请从尾部开始。 DataObje

  • 问题内容: 我想知道,是否有Python等效的case语句,例如VB.net或C#上可用的示例? 问题答案: 例如: 然后,调用等效的开关块: 如果你严重依赖失败,就会开始崩溃。

  • 问题内容: 我们有一个类,其中包含应用程序的配置信息。它曾经是一个单身人士。经过一些体系结构审查后,我们被告知删除单例。我们确实看到了在单元测试中不使用单例的一些好处,因为我们可以一次测试所有不同的配置。 没有单例,我们必须在代码中的所有地方传递实例。变得太乱了,所以我们写了一个单例包装器。现在我们将相同的代码移植到PHP和.NET,我想知道是否有更好的模式可用于配置对象。 问题答案: 在谷歌测试

  • null 代码如下所示: 和我想提高的班级: 我该怎么办?每个字段都在使用,但每个触发器都在使用。另外,这种情况有点特殊(OnFinalMethod需要参数)。基于上面的文章,我尝试重构这段代码,但没有成功。 你知道吗?:)

  • 我正在努力翻阅这本生锈的书。在“字符串”一章中,许多示例使用了_string(),我的编译器版本(rustc 1.0.0-dev)给出了以下警告 代码: 我从这个问题中了解到,这是因为API可能会更改,但我想知道如果我想转换字符串片段(str),我应该使用什么来代替它