Tec*_*rat 5 c# sorting generics
除了排序之外,我已经完成了通用链接列表中的所有操作.而且我不知道如何使用IComparable或如何使用它,因为它是通用的.我不知道我甚至会比较或排序?
public class Node<T> : IComparable<T>
{
private Node<T> next;
private T item;
}
Run Code Online (Sandbox Code Playgroud)
所以
public int CompareTo( T other )
{
// TODO: Find out how to do it properly
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
它也反对将它转换为数组然后对其进行排序然后将其转换回来的指令.
拥有链接列表Node对象实现IComparable对于您描述的确切原因完全没有意义.相反,您在链表中使用的类应该实现它.实际上,您可以使用泛型类型约束来要求:
MyClass<T> where T : IComparable<T> {}
Run Code Online (Sandbox Code Playgroud)
做完这些后,你可以使用T,就好像它是一个IComparable执行你的排序时.