【发布时间】:2019-01-16 13:50:55
【问题描述】:
List<string> list = new List<string>() { " A ", "b" , "C"};
bool status = list.Contains(input);
I get the following status when I checked in console.
Case 1: string input = "A"; // false
Case 2: string input = "B"; // false
Case 3: string input = "C"; // true
Case 4: string input = "c "; // false
Case 5: string input = " C"; // false
Case 2: string input = "b"; // true
我希望一切都是真实的,因此决定修剪并将两者都转换为更低。但是,我不知道顺序是什么,首先修剪或首先转换为较低的。另外,我不知道如何做列表,请帮助我。
更新
找到了我部分问题的答案。我可以做 input.ToLower().Trim();
但这是正确的顺序吗?在这个例子中,如何对列表项做同样的事情?
【问题讨论】:
-
stackoverflow.com/questions/3947126/… - 使用此答案并将您的呼叫添加到 Trim()
-
你可以做
list.Select(s => s.Trim().ToLower()).Contains(input.ToLower())。 -
最好不要使用
ToLower,而是使用比较器重载,通过StringComparer.InvariantCultureIgnoreCase。你可以谷歌“土耳其我的问题”,它也更有效 -
@SeM:非常感谢。请问你为什么不修剪输入?另外,为什么你先选择了修剪,然后在选择中降低了?
标签: c# .net string list c#-4.0