次のコードは、コードを変更せずに既存の製品の一部の機能を使用できるようにする回避策です。それは私たちにとって良いことですが、なぜこれが機能するのかを理解したいですか? 0x81 文字の特別な点は何ですか?
"A".Equals(Encoding.UTF8.GetString(new byte[] { 0x41, 0x81 }), StringComparison.InvariantCulture) // Returns TRUE
上記のコードは、CurrentCulture と InvariantCulture では機能しますが、Ordinal では機能しません。序数では、上記のコードでは失敗する各バイトが比較されるため、これは理にかなっています。また、デフォルト エンコーディング (SBCS) では機能しません。