この例では、組み込みのString.Compareメソッドを使用するために、配列を文字列に変換する必要があります。
char[] array = {'a','b','c'};
string s = "abc";
// here is the extra string allocation
var arrayString = new String(array);
var compareResult = String.Compare(s, arrayString);
追加の文字列割り当てなしで文字列をchar配列と比較する簡単な方法はありますか?
注:ここでは、「[a]2つの比較対象間の字句関係を示す32ビットの符号付き整数」が必要な比較セマンティクスが必要です。
ゼロ未満->strAはstrB未満です。
ゼロ->strAはstrBに等しい。
ゼロより大きい->strAはstrBより大きい。
(私はループでこの比較を行っており、追加の文字列割り当て(入力のサイズに基づいて25〜100MB)を使用して大量の追加のガベージを生成しています_。
おそらく、手を汚して自分でコードを書くことになると思います。