C# 如何读取文本文件并显示匹配项而不使用匹配的大小写?
我的代码有一个小问题,我正在读取一个文本文件并显示来自用户输入的匹配项。唯一的问题是它是区分大小写的,例如,如果Steve中的s是小写,它就不会显示匹配,因为它在文本文件中是大写的。这是我正在使用的代码C# 如何读取文本文件并显示匹配项而不使用匹配的大小写?,c#,streamreader,readline,C#,Streamreader,Readline,我的代码有一个小问题,我正在读取一个文本文件并显示来自用户输入的匹配项。唯一的问题是它是区分大小写的,例如,如果Steve中的s是小写,它就不会显示匹配,因为它在文本文件中是大写的。这是我正在使用的代码 string name; lstResult.Items.Clear(); using (StreamReader sr = File.OpenText("../Name_Check.txt")) { while ((name = sr.ReadLin
string name;
lstResult.Items.Clear();
using (StreamReader sr = File.OpenText("../Name_Check.txt"))
{
while ((name = sr.ReadLine()) != null)
{
if (txtInput.Text == name)
{
lstResult.Items.Add(name);
您可以使用而不是==
就您的示例而言,这应该是可行的:
if (string.Equals(txtInput.Text, name, StringComparison.CurrentCultureIgnoreCase))
(而不是if(txtInput.Text==name)
)
假设您要使用当前线程的当前区域性设置
或者您可以使用Daniel White演示的类似字符串.Equals()。您可以使用而不是=
就您的示例而言,这应该是可行的:
if (string.Equals(txtInput.Text, name, StringComparison.CurrentCultureIgnoreCase))
(而不是if(txtInput.Text==name)
)
假设您要使用当前线程的当前区域性设置
或者您可以使用丹尼尔·怀特演示的类似字符串.Equals()。试试这个
txtInput.Text.Equals(name, StringComparision.OrdinalIgnoreCase)
根据您的文化背景,您可能必须更改最后一个选项。试试这个
txtInput.Text.Equals(name, StringComparision.OrdinalIgnoreCase)
根据您的文化背景,您可能必须更改最后一个选项。这应该有效(未测试!)
这应该有效(未经测试!)