C#順序文字列

どの文字列をアルファベット順に並べるかを決定するにはどうすればよいですか?

例:

is "add" before "ask"? true
is "aaaabba" before "aaac"? true
is "xeon" before "alphabet"? false

これを行うことができる.NETには何かがありますか?あるいは誰かがこれを行う良い方法を知っていますか?前もって感謝します。私はC#を使用していますが、他の言語は例や擬似コード、あるいはアイデアでも問題ありません。

1
どのコンテナ/コレクションタイプを使用していますか。コレクションにはインデックスを確認するためのIndexOfステートメントがあります。これは識別に役立ちます..
追加された 著者 Niranjan Kala,
文字列のcompareToはintをretuenする必要があります。これは、より小さい、等しい、より大きい場合、現在の文字列がbwforeであるか、比較されている文字列と同じか、後であることを示します。
追加された 著者 frictionlesspulley,

7 答え

静的メソッドを比較するか、 CompareTo インスタンスメソッド:

class Program
{
    static void Main()
    {
        Console.WriteLine(string.Compare("add", "ask") < 0);
        Console.WriteLine(string.Compare("aaaabba", "aaac") < 0);
        Console.WriteLine(string.Compare("xeon", "alphabet") < 0);
    }
}

印刷物:

True
True
False
15
追加された

文化認識文字列を比較するカチオン!

  String s1 = "Strasse";
  String s2 = "Straße";

  var res = String.Compare(s1, s2, StringComparison.Ordinal) == 0;//returns false

  CultureInfo ci = new CultureInfo("de-DE");
  eq = String.Compare(s1, s2, true, ci) == 0;//returns true
3
追加された

Use string.Compare method

    static void Main(string[] args)
    {

        Console.WriteLine(
            "is 'add' before 'ask'? {0}", 
            string.Compare("add", "ask") < 0
            );
        Console.WriteLine(
            "is 'aaaabba' before 'aaac'? {0}",
            string.Compare("aaaabba", "aaac") < 0
            );
        Console.WriteLine(
            "is 'xeon' before 'alphabet'? {0}", 
            string.Compare("xeon", "alphabet") < 0
            );

        Console.ReadLine();
    }
2
追加された
0
追加された

string.Compareはあなたが探している関数です。

結果が0より大きい場合、最初の引数は2番目の引数よりも大きい。 0より小さい場合は2番目の値です。関数が0を返す場合、両方の引数が等しい。

0
追加された

いくつかのコンテナを使用している場合は、これを確認するためにインデックス値をチェックすることができます。

if( Array.IndexOf(strArray, "C") < Array.IndexOf(strArray, "C") ) return true;

As you know it is Ordered according to alphabet then you can use String.Compare Method (String, String)

retun  string.Compare(string1, string2) < 0 ? true : false

この比較では、現在のカルチャを使用して、ケーシングルールや個々の文字のアルファベット順などの文化固有の情報を取得します。たとえば、特定の文字の組み合わせを1つの文字として扱うか、大文字と小文字を特定の方法で比較するか、文字の並び順がその前後の文字に依存することを指定できます。

When comparing strings, you should call the Compare method, which requires that you explicitly specify the type of string comparison that the method uses. For more information, see Best Practices for Using Strings in the .NET Framework.

0
追加された

あなたはただ使うことができます

int result = String.Compare(stringa, stringb);

If result > 0, then stringa would be before stringb, < 0 stringb before stringa and 0 for when they are the same.

0
追加された