C# 如何读取文本文件并显示匹配项而不使用匹配的大小写?

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

我的代码有一个小问题,我正在读取一个文本文件并显示来自用户输入的匹配项。唯一的问题是它是区分大小写的,例如,如果Steve中的s是小写,它就不会显示匹配,因为它在文本文件中是大写的。这是我正在使用的代码

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)
根据您的文化背景,您可能必须更改最后一个选项。

这应该有效(未测试!)

这应该有效(未经测试!)