我正在尝试在链表中插入一个字符串节点并对其进行排序。我遇到的问题是while((curr != null) && (str > curr.Data))
行。我收到错误"运算符<不能应用于' string'类型的操作数和'字符串'"。我不理解这个错误,因为函数与==一起工作正常,它也适用于它们是int而不是字符串的情况。我尝试过使用str.CompareTo(currData)
,但会产生类似的错误。如果有人可以向我解释为什么这个错误正在产生,并且可能我可以做些什么来解决这个问题。
private Node head = null; // initially nothing in the list
private int count = 0;
public void InsertSorted(string str)
{
Node newNode = new Node(str);
Node previous = null;
Node curr = head;
while((curr != null) && (str > curr.Data))
{
previous = curr;
curr = curr.Next;
}
if(previous == null)
{
newNode.Next = curr;
head = newNode;
}
else
{
newNode.Next = curr;
previous.Next = newNode;
}
}
答案 0 :(得分:1)
尝试
while((curr != null) && (string.Compare(str, curr.Data) > 0))
>
运算符对C#中的字符串无效。