【发布时间】:2019-02-08 08:42:51
【问题描述】:
我正在表单上创建一个输入文本框,并且我想要调用特定程序的特定命令,例如输入“时间”后,将返回一个显示当前时间的 MessageBox。
我目前使用案例,但希望直接从字典中调用函数
private void enter_button_Click(object sender, EventArgs e)
{
Dictionary<string, Int64> commandDict = new Dictionary<string, Int64>()
{
["Do1"] = 1,
["Do2"] = 2,
["Do3"] = 3
};
long caseInput = 0;
try
{
caseInput = Convert.ToInt64(commandDict[(textBox1.Text).ToLower()]);
//Returns dict value as long integer /\
}
catch { }
switch (caseInput)
{
case 1:
Console.WriteLine("Do Thing 1")
break;
case 2:
Console.WriteLine("Do Thing 2")
break;
case 3:
Console.WriteLine("Do Thing 3")
break;
default:
Console.WriteLine("Incorrect Input")
break;
我希望 case 1,2 和 3 是单独的函数(它们的功能已被淡化,但没有返回值,也没有输入参数)。我想要commandDict(我当前的字典,当文本“Do1”等输入到“textBox1.Text”时调用这3个程序。
【问题讨论】:
-
链接副本上的 This answer 适用于
void方法。
标签: c# function dictionary