所以我在C#中创建了一个通用的BST,我已经过测试,效果很好。我想完成程序,要求用户输入他们想要使用的树的类型,然后它将使用我的通用树创建该类型的树,询问它们的输入,并显示信息关于它。这就是我想要做的事情:
string userChoice = Console.ReadLine();
switch(userChoice)
{
case "bool":
functionToCreateBST(userChoice);
break;
default:
Console.WriteLine("Input did not match any given type!");
break;
}
该函数将包含以下几行代码:
BSTtree<userChoice> test = new BSTtree<userChoice>();
我该怎么做?我将会列出大约14种不同类型的交换机案例。我想从每个switch case调用一个函数,传入给定的类型。然后该函数将拥有所有代码来创建BST,为其获取输入,并显示有关它的信息,并在此过程中使用给定的类型。
我的函数的代码大约是40行,我显然只想要有1个函数来执行此操作,这将根据类型而改变,而不是复制和粘贴40行,用于14种不同的情况!!!!! < / p>
答案 0 :(得分:1)
使用所选类型将其设为通用函数。像
这样的东西void functionToCreateBST<T>()
{
BSTtree<T> test = new BSTtree<T>();
// ...
}
switch(userChoice)
{
case "bool":
functionToCreateBST<bool>(userChoice);
break;
default:
Console.WriteLine("Input did not match any given type!");
break;
}