相关疑难解决方法(0)

不区分大小写'包含(字符串)'

有没有办法让以下返回true?

string title = "ASTRINGTOTEST";
title.Contains("string");
Run Code Online (Sandbox Code Playgroud)

似乎没有一个过载允许我设置区分大小写.目前我大写它们两个,但这只是愚蠢(我指的是上下套管的i18n问题).

更新
这个问题是古老的,从那时起我就意识到,如果你想完全研究它,我会要求一个简单的答案来解决一个非常庞大和困难的话题.
对于大多数情况,在单语言的英语代码库中,这个答案就足够了.我怀疑是因为大多数人来到这个类别这是最受欢迎的答案.然而,
这个答案提出了一个固有的问题,即我们无法比较文本不区分大小写,直到我们知道两个文本是相同的文化并且我们知道文化是什么.这可能是一个不太受欢迎的答案,但我认为它更正确,这就是为什么我这样标记它.

c# string contains case-insensitive

2785
推荐指数
23
解决办法
83万
查看次数

C#:关于ToUpper()和ToLower()的困惑

如果我做这样的事......

String myVar = "in";
if(myVar.ToUpper() == "in")
{
    //do something
}
Run Code Online (Sandbox Code Playgroud)

这不会进入"if"阻止..正确吗?

要么

它是否会检查"in"和"IN"中的内容并执行其中的内容if if?如果是这样,为什么呢?是不是应该跳过"if"块里面的内容?

同样的混乱也是ToLower()如此

编辑:所以要检查两种情况,我需要写:

if((myVar.ToUpper().Equals("in"))&&(myVar.Equals("in")))
Run Code Online (Sandbox Code Playgroud)

像这样......好吗?

c# string-comparison

11
推荐指数
2
解决办法
1万
查看次数