C# 泛型C BST树,选择类型
所以我用C语言创建了一个通用的BST,我已经测试过了,效果很好。我想完成一个程序,要求用户输入他们想要使用的树的类型,然后它将使用我的泛型树创建一个该类型的树,要求他们输入,并显示有关它的信息。这就是我想做的:C# 泛型C BST树,选择类型,c#,generics,types,binary-search-tree,C#,Generics,Types,Binary Search Tree,所以我用C语言创建了一个通用的BST,我已经测试过了,效果很好。我想完成一个程序,要求用户输入他们想要使用的树的类型,然后它将使用我的泛型树创建一个该类型的树,要求他们输入,并显示有关它的信息。这就是我想做的: string userChoice = Console.ReadLine(); switch(userChoice) { case "bool": functionToCreateB
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个不同类型的开关箱。我想从每个开关案例中调用一个函数,传入给定的类型。然后,函数将拥有创建BST的所有代码,为它获取输入,显示有关它的信息,并在过程中使用给定的类型
我的函数代码大约是40行,我显然只想有一个函数来做这件事,这将根据类型而改变,而不是复制和粘贴40行14种不同的情况 使用所选类型使其成为通用函数。差不多
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;
}
太好了,我仍然习惯于泛型…我想简单的修复。谢谢如果你知道,你知道为什么我必须为我的函数实现IComparable吗?例如,如果我要将函数中的T类型与CompareTo进行比较,我想我只需要这样做。很抱歉,我需要查看您的代码、您收到的消息以及在哪一行。