在链接列表

时间:2016-04-24 21:56:23

标签: c# linked-list nodes

我正在尝试在链表中插入一个字符串节点并对其进行排序。我遇到的问题是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;
        }

    }

1 个答案:

答案 0 :(得分:1)

尝试

while((curr != null) && (string.Compare(str, curr.Data) > 0))

>运算符对C#中的字符串无效。