C# 从文件中搜索和读取

C# 从文件中搜索和读取,c#,C#,我想知道是否可以搜索和读取文件,并在消息框中显示文件中的内容 我想通过用户已知的ID搜索文件。当用户输入ID时,我的程序打开共享相同ID的文件;预设文件夹中的eg.ID.txt 当它被选中时,它将被读取并放入一个消息框中,该消息框将显示文件中的内容 有人能告诉我怎么做吗? 谢谢 我认为,对于你想做的事情,你应该阅读以下内容: 或者关于序列化的类似文章。 这就是说,如果ID的数量不断增加,您应该考虑采用轻量级数据库,即SQLite,仅举一例。看看DirectoryInfo类。像下面这样的事情应该做

我想知道是否可以搜索和读取文件,并在消息框中显示文件中的内容

我想通过用户已知的ID搜索文件。当用户输入ID时,我的程序打开共享相同ID的文件;预设文件夹中的eg.ID.txt

当它被选中时,它将被读取并放入一个消息框中,该消息框将显示文件中的内容

有人能告诉我怎么做吗? 谢谢


我认为,对于你想做的事情,你应该阅读以下内容: 或者关于序列化的类似文章。
这就是说,如果ID的数量不断增加,您应该考虑采用轻量级数据库,即SQLite,仅举一例。

看看DirectoryInfo类。像下面这样的事情应该做你想做的

    DirecectoryInfo dir = new DirectoryInfo(pathToRoot);
    FileInfo[] files = dir.GetFiles("Id.txt"); //if using a specific name should return 1 item
    TextBox.Text = File.ReadAllText(files.FirstOrDefault().FullName);

请记住,我这里没有错误处理或任何东西。您必须自己添加,这只是向您显示获取文件并读取其内容的关键类/方法。还有许多其他选项,如执行
GetFiles()
,将该集合保存在内存中,然后稍后对其进行操作。

您不能在
搜索按钮中使用
MessageBox.Show()
方法吗

private void SearchButton_Click(object sender, EventArgs e)
{
    SearchID = int.Parse(searchTextBox.Text);
    string[] lines = File.ReadAllLines(@"C:\Users\Public\TestFolder\"+SearchID+".txt");
    System.Windows.Forms.MessageBox.Show(string.Join("\r\n", lines));
}

你能解释一下是什么部件引起了问题吗?(请注意,您已经有了从文件读取并在帖子中显示消息框的示例,因此我假设您正在查找关于
String.IndexOf
)的手册)…是的。你到底有什么问题?您是否收到异常情况?你需要解析文本文件的内容吗?对我来说是MessageBox.Show(行);不工作,因为它在当前上下文中不存在,并且字符串{}处应有标识符
private void SearchButton_Click(object sender, EventArgs e)
{
    SearchID = int.Parse(searchTextBox.Text);
    string[] lines = File.ReadAllLines(@"C:\Users\Public\TestFolder\"+SearchID+".txt");
    System.Windows.Forms.MessageBox.Show(string.Join("\r\n", lines));
}