找到两组之间完全匹配的等价数字

时间:2018-06-13 02:05:26

标签: c#

我正在编写一个程序,其中我有一组编号123456789和单词ABCDEFGHI。现在,如果用户输入任何数字,其等效字母应显示在结果中。有人可以指导我如何处理这个问题。

对于EX:1352的用户输入应该导致ACEB

1 个答案:

答案 0 :(得分:3)

欢迎来到这里,您的问题太容易成为一个问题。至少你应该出现你所做的事情。

但我会给你一个机会。

我写了一个简单的方法来解决你的问题。

Sandbox to run this online

//Your code goes here
Console.WriteLine("Hello, world!");
//predifine your sets
var inputSet = new List<char> {'1','2','3','4','5','6','7','8','9','0'};
var outputSet = new List<char>{'A','B','C','D','E','F','G','H','I','J'};
//lets parse
Console.WriteLine(new string("1352".Select(x=>outputSet[inputSet.IndexOf(x)]).ToArray()));
Console.WriteLine(new string("199466856".Select(x=>outputSet[inputSet.IndexOf(x)]).ToArray()));
Console.WriteLine(new string("111222333444".Select(x=>outputSet[inputSet.IndexOf(x)]).ToArray()));

<强>结果

Hello, world!

ACEB

AIIDFFHEF

AAABBBCCCDDD

修改

解释它是如何运作的。

"1352".Select(x)在字符串中逐个选择字符并存储在x中。

inputSet.IndexOf(x)x

中找到inputSet的位置

outputSet[int]inputSet中找到的位置获取给定值

new string(char array)通过给定的char数组实例化一个新字符串。