gpt4 book ai didi

c# - 痛苦的泛型,运算符 '>=' 不能应用于类型 'T' 和 'T' 的操作数

转载 作者:太空狗 更新时间:2023-10-29 19:52:33 30 4
gpt4 key购买 nike

这是我的代码:

class BinaryTree<T> 
{
private node<T> Head;
public class node<T>
{
public T Data;
public node<T> right;
public node<T> left;
public node<T> parent;
...
}
...
private void insert(ref T data, node<T> parent, ref node<T> currentChild)
{
...
{
if (currentChild.Data >= data) insert(ref data, currentChild, ref currentChild.right);
else insert(ref data, currentChild, ref currentChild.left);
}
}
}

上面的 if (currentChild.Data >= data) 我收到错误:

Operator '>=' cannot be applied to operands of type 'T' and 'T'

我该怎么做才能解决错误?

最佳答案

您需要指定 T 实现 IComparable 以便您可以进行比较:

class BinaryTree<T> where T : IComparable<T>
{
...
public class node<T> where T : IComparable<T> ...
...
if (currentChild.Data.CompareTo(data) >= 0) ...
...
}

关于c# - 痛苦的泛型,运算符 '>=' 不能应用于类型 'T' 和 'T' 的操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9001332/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com