2016-04-24 16 views
1

リンクリストに文字列ノードを挿入してソートしようとしています。私が持っている問題は、while((curr != null) && (str > curr.Data))という行です。エラー "演算子<は、 'string'および '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

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

>オペレータは、C#の文字列に対して有効ではありません試してみてください。

+0

ああ、私はそれが事実であるかどうかわかりませんでした。どうもありがとうございます;これは私のエラーを解決しました。 – crin

+0

私は文字列の比較を頻繁に行う必要はありません。私はおそらく>または<自分自身を試してみただろう。 –

関連する問題