C# 使用List.FindAll和List.Find搜索文本文件

C# 使用List.FindAll和List.Find搜索文本文件,c#,winforms,C#,Winforms,我是C#的初学者,试图通过文本文件进行搜索。我只是在测试它在快速小型应用程序上的工作方式,结果应该显示搜索到的唯一号码,然后在列表框中显示姓名和电话号码的记录,例如(001 John 0123456789) 这是我的密码: private void SearchButton_Click(object sender, EventArgs e) { string match = ""; try { StreamReader inputFil

我是C#的初学者,试图通过文本文件进行搜索。我只是在测试它在快速小型应用程序上的工作方式,结果应该显示搜索到的唯一号码,然后在列表框中显示姓名和电话号码的记录,例如(001 John 0123456789)

这是我的密码:

private void SearchButton_Click(object sender, EventArgs e)
{
    string match = "";
    try
    {
        StreamReader inputFile = File.OpenText("Transactions.txt");
        List<string> TransList = new List<string>();
        {
            while (!inputFile.EndOfStream)
            {
                TransList.Add(inputFile.ReadLine());
            }

            TransList = TransList.FindAll(x=>x.Equals(match)).ToList();
            string[] RecordsArray = TransList.ToArray();

            foreach (string record in RecordsArray)
            {
                if (match == textBox1.Text)
                {
                    DataListBox.Items.Add(RecordsArray[0]);
                    DataListBox.Items.Add(RecordsArray[1]);
                    DataListBox.Items.Add(RecordsArray[2]);
                }
            }

        inputFile.Close();
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
private void SearchButton\u单击(对象发送者,事件参数e)
{
字符串匹配=”;
尝试
{
StreamReader inputFile=File.OpenText(“Transactions.txt”);
List TransList=新列表();
{
而(!inputFile.EndOfStream)
{
Add(inputFile.ReadLine());
}
TransList=TransList.FindAll(x=>x.Equals(match)).ToList();
string[]RecordsArray=TransList.ToArray();
foreach(RecordsArray中的字符串记录)
{
如果(匹配==textBox1.Text)
{
DataListBox.Items.Add(RecordsArray[0]);
DataListBox.Items.Add(RecordsArray[1]);
DataListBox.Items.Add(RecordsArray[2]);
}
}
inputFile.Close();
}
}
捕获(例外情况除外)
{
MessageBox.Show(例如Message);
}
}

您看到的问题是什么?当调用
FindAll
时,
match
的值为空字符串。我想您应该在一开始就将其值设置为
textBox1.Text
。然后,应该删除
if(match==textBox1.Text)
部分。不幸的是,它不起作用,现在它只返回输入的搜索编号…我建议在问题中包括您面临的问题,否则很难为您编写答案。无论如何,我建议您在官方文档中查看List.FindAll是如何工作的