我正在尝试制作一个基本程序,它将用户输入一个字母并输出它的莫尔斯代码等价物.我的问题是该程序似乎无法找到密钥.任何修复?请记住,我正在努力保持尽可能简单.
Dictionary<string, string> values = new Dictionary<string, string>();
values.Add("A", ".-");
values.Add("B", "-...");
values.Add("C", "-.-.");
// ...
values.Add("8", "---..");
values.Add("9", "----.");
values.Add("0", "-----");
Console.WriteLine("Pleae enter the value you wish to convert");
string translate = Console.ReadLine();
string translateupper = translate.ToUpper();
if (values.ContainsKey(translateupper) == true)
{
string Converted = (values["translateupper"].ToString());
Console.WriteLine(Converted);
}
Run Code Online (Sandbox Code Playgroud)
删除变量名称周围的引号:
string Converted = (values[translateupper].ToString());
Run Code Online (Sandbox Code Playgroud)
笔记:
TryGetValue
方法Dictionary<char,string>
因为您的密钥实际上是字符注意事项:
var values = new Dictionary<string, string> {
["A"] = ".-",
["B"] = "-...",
["C"] = "-.-.",
// etc
};
string translate = Console.ReadLine();
string converted;
if (values.TryGetValue(translate.ToUpper(), out converted))
Console.WriteLine(converted);
// you can add 'else' block to notify user that translation was not found
Run Code Online (Sandbox Code Playgroud)
使用C#7.0,您可以声明变量.