C#では、関係演算子(<
, >
, <=
, >=
)による文字列の大小関係の比較はサポートされていません。 これらを使った文字列の比較はコンパイルエラーとなります。
C#では関係演算子を使った文字列の比較はできない
using System;
class Sample {
static void Main()
{
var str1 = "abc";
var str2 = "abb";
if (str1 < str2) // error CS0019: 演算子 '<' を 'string' と 'string' 型のオペランドに適用することはできません。
Console.WriteLine("str1 < str2");
else if (str1 > str2) // error CS0019: 演算子 '>' を 'string' と 'string' 型のオペランドに適用することはできません。
Console.WriteLine("str1 > str2");
else
Console.WriteLine("str1 == str2");
}
}
このようにC#では関係演算子による文字列の比較はできませんが、代わりにString.Compareメソッドを使うことによって文字列の大小関係を比較することが出来ます。 このことについては文字列の探索・比較 §.比較 (CompareTo, Equals, Compare)で詳しく解説します。