使用ToLower()而不是ToLowerInvariant()时编码做法不正确

时间:2016-12-14 08:32:42

标签: c# tolower

我正在编写用于在数据库中搜索的代码,因此我编写了此代码:

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()错误。它向我显示了一条消息,为什么以及如何使用它(如果你想看到消息让我知道),它给了我一个link

它说我需要使用.ToLowerInvariant(),但我从未听说过这个。

所以现在我想知道,使用ToLower()是否真的很糟糕,我应该像往常一样使用.ToLowerInvariant()还是只使用它?

修改

输入始终使用相同的语言,它在我居住的国家/地区使用,并且无法删除某些内容。没有&#34;怪异的&#34;输入Search

0 个答案:

没有答案