有没有办法让以下返回true?
string title = "ASTRINGTOTEST";
title.Contains("string");
Run Code Online (Sandbox Code Playgroud)
似乎没有一个过载允许我设置区分大小写.目前我大写它们两个,但这只是愚蠢(我指的是上下套管的i18n问题).
更新
这个问题是古老的,从那时起我就意识到,如果你想完全研究它,我会要求一个简单的答案来解决一个非常庞大和困难的话题.
对于大多数情况,在单语言的英语代码库中,这个答案就足够了.我怀疑是因为大多数人来到这个类别这是最受欢迎的答案.然而,
这个答案提出了一个固有的问题,即我们无法比较文本不区分大小写,直到我们知道两个文本是相同的文化并且我们知道文化是什么.这可能是一个不太受欢迎的答案,但我认为它更正确,这就是为什么我这样标记它.
我有一个字符串数组:
string[] Animals = {"Cat", "Dog", "Fish"};
Run Code Online (Sandbox Code Playgroud)
然后我想确定哪个元素包含序列"is"并返回整个元素; 在这种情况下"鱼"
如果我想找到"gh",它在列表中不存在,所以它应该返回第一个元素,在本例中为"Cat"
我试过这个linq代码,但我不认为我正在做lambda部分.
int index = Animals.Where(x => x.IndexOf("is") >= 0).First().IndexOf("is")
string result = index > 0 ? Animals[index] : Animals[0];
Run Code Online (Sandbox Code Playgroud)
此代码抛出此错误:
Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: value
Run Code Online (Sandbox Code Playgroud)
我想我很亲近,我似乎无法得到它.
这种方法显然不是万无一失的,它应该返回可能有问题的"是"的第一个实例.我的潜在列表相当小,索引词总是唯一的.