大文字と小文字を区別しない比較を行う場合、文字列を大文字または小文字に変換する方が効率的ですか?それも重要ですか?
このSOの投稿では、「Microsoftがそのように最適化した」ため、ToUpperの方がC#の方が効率的であることが示唆されています。しかし、ToLowerとToUpperの変換は、文字列に含まれる内容に依存し、通常、文字列には小文字が多く含まれるため、ToLowerがより効率的になるというこの引数も読みました。
特に、私は知りたいです:
- ToUpperまたはToLowerを最適化して、一方が他方よりも高速になるようにする方法はありますか?
- 大文字または小文字の文字列間で大文字と小文字を区別しない比較を行う方が高速ですか。その理由は何ですか。
- あるケースが他のケースよりも明らかに優れているプログラミング環境(C、C#、Pythonなど)はありますか?その理由は何ですか?