C#String.ToUpperメソッドは文字列を大文字化するメソッド、String.ToLowerメソッドは文字列を小文字化するメソッドです。際に参照される規則です。なるため、スレッドのカルチャがトルコ語の場合ToUpper/ToLowerの結果はToUpperInvariant/ToLowerInvariantと異なる結果となります。ıしたがって、カルチャや変換規則を強く意識する必要がある場合はToUpper/ToLowerを用いる必要があります。それ以外の多くの場合はToUpperInvariant/ToLowerInvariantで十分と言えます。ASCIIの範囲の文字だけを大文字/小文字にしたいという目的であれば、カルチャと変換規則に影響されないToUpperInvariant/ToLowerInvariantのほうが適切かつパフォーマンス的にも優れると考えられます。§.文字列比較の規則・ソート順定義(CompareInfo)としてのCurrentCultureやStringComparisonとStringComparerでも詳しく説明しています。ToUpper/ToLowerメソッド以外でカルチャによって異なる動作となる場合については、カルチャによる動作の違いとインバリアントカルチャを参照してください。1:31本ページはサンプルコード部分のみを抜粋したものです。全文はProgramming/.NET/文字列/文字列の加工・編集にてご覧いただけます。