2

データベースで検索するためのコードを書いていたので、次のコードを書きました。

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

4

0 に答える 0