1. ホーム
  2. c#

[解決済み】string.ToLower()とstring.ToLowerInvariant()

2022-04-19 11:39:48

質問

何が違うのか、いつ何を使うのか?常に ToLower() を常に使用した場合のリスクは? ToLowerInvariant() ?

解決方法は?

現在のカルチャに応じて、ToLowerはあなたが期待していないカルチャ特有の小文字を生成するかもしれません。 例えば ınfo の代わりにiの上にドットがない info というように、文字列比較を台無しにしてしまいます。 そのため、ToLowerInvariant は言語固有のものではないデータに対して使用されるべきです。 ユーザーの入力が母国語/文字セットである可能性がある場合、一般的にToLowerを使用するのはその時だけです。

この問題の例として、この質問を参照してください。 C#- ToLower()が、文字 "I"からドットを削除することがあります。