2016-04-24 68 views
1

我試圖在鏈表中插入一個字符串節點並對其進行排序。我遇到的問題是while((curr != null) && (str > curr.Data))。我收到錯誤「運算符<不能應用於'string'和'string'類型的操作數」。我不明白這個錯誤,因爲該函數可以正常工作,並且它也適用於它們是整數而不是字符串的情況。我試過使用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

嘗試

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

>操作是無效的在C#中的字符串。

+0

啊,我不知道是這樣。非常感謝;這解決了我的錯誤。 – crin

+0

我不必經常進行字符串比較。我可能會嘗試>或<我自己。 –