有没有办法让以下返回true?
string title = "ASTRINGTOTEST";
title.Contains("string");
Run Code Online (Sandbox Code Playgroud)
似乎没有一个过载允许我设置区分大小写.目前我大写它们两个,但这只是愚蠢(我指的是上下套管的i18n问题).
更新
这个问题是古老的,从那时起我就意识到,如果你想完全研究它,我会要求一个简单的答案来解决一个非常庞大和困难的话题.
对于大多数情况,在单语言的英语代码库中,这个答案就足够了.我怀疑是因为大多数人来到这个类别这是最受欢迎的答案.然而,
这个答案提出了一个固有的问题,即我们无法比较文本不区分大小写,直到我们知道两个文本是相同的文化并且我们知道文化是什么.这可能是一个不太受欢迎的答案,但我认为它更正确,这就是为什么我这样标记它.
我最近安装了SQL Server 2008,并选择了排序规则作为区分大小写.我想让它对整个实例不区分大小写(不适用于该实例中的数据库).如果我更改了排序规则,它是否会影响任何现有数据库?如果真是这样,那么是以哪种方式?
我试图在linq中查询我的结果集到实体;
var categoriesList = _catRepo.GetAllCategories();
filteredCategories = categoriesList.Where(c=> c.CategoryName.Contains("for"));
Run Code Online (Sandbox Code Playgroud)
但是,我没有得到任何结果监守的CategoryName是For(Upper Case)在数据库中.我还检查了sql server collation,并将其设置为_CI_AS.我不知道如何使用contains来过滤不区分大小写的字符串?
如果有人打字,我基本上想要;
filteredCategories = categoriesList.Where(c=> c.CategoryName.Contains("for"));
Run Code Online (Sandbox Code Playgroud)
要么
filteredCategories = categoriesList.Where(c=> c.CategoryName.Contains("For"));
Run Code Online (Sandbox Code Playgroud)
结果应该是一样的