データベースで検索するためのコードを書いていたので、次のコードを書きました。
public IEnumerable<Company> SearchInCustomers(string Search)
{
return Company.Where(w =>
(w.CompanyName.ToLower().Contains(Search.ToLower())) ||
(w.City.ToLower().Contains(Search.ToLower()))).OrderBy(w => w.Id);
}
私は正常に動作し、良いコードだと思いました。たとえばSonarCubeでコードをチェックし始めたとき(これはコードを確認して悪いコードを見つけるためです)、.ToLower()
間違ったものを使用していると言われました。これを使用する理由と方法を示すメッセージが表示され(メッセージを見たい場合はお知らせください)、リンクが表示されました。
を使用する必要があると言われまし.ToLowerInvariant()
たが、これは聞いたことがありませんでした。
だから今、私は疑問に思っています. を使うToLower()
のは本当に悪いの.ToLowerInvariant()
でしょうか.
編集:
入力は常に同じ言語であり、私が住んでいる国で使用されており、何かを削除する方法はありません. には「奇妙な」入力はありませんSearch
。