C# 从文本文件中检索数据

C# 从文本文件中检索数据,c#,C#,我有一个小项目。我正在做的是,从用户那里获取输入并将其保存在文本文件中。它工作得很好 private void btbsave_Click(object sender, EventArgs e) { //Create Directory DirectoryInfo dd = new DirectoryInfo("C://Program Files/UserInfo"); dd.Create(); //To save the inputs StreamWri

我有一个小项目。我正在做的是,从用户那里获取输入并将其保存在文本文件中。它工作得很好

private void btbsave_Click(object sender, EventArgs e)
{
    //Create Directory
    DirectoryInfo dd = new DirectoryInfo("C://Program Files/UserInfo");
    dd.Create();
    //To save the inputs
    StreamWriter sw = new StreamWriter("C://Program Files/UserInfo/UserInfo.txt", true);
    sw.WriteLine(txtname.Text);
    sw.WriteLine(txtage.Text);
    sw.Flush();
    sw.Close();
    //Conformation
    MessageBox.Show("Credentials Saved");
    //To Clear the text box after data saved
    txtname.Text = string.Empty;
    txtage.Text = string.Empty;
    //Focus
    txturl.Focus();
}
现在,我想根据输入检索数据。这部分对我来说很难,你们能帮我吗

private void btnsearch_Click(object sender, EventArgs e)
{
     StreamReader sr = new StreamReader("C://Program Files/UserInfo/UserInfo.txt");
     String mystring = sr.ReadToEnd();
     //No idea how to retrive now plz help!
}
我的项目简介: 从用户处获取一些值,如用户名和年龄。将它们保存在文本文件中


我需要根据用户用户名检索值。然后,我应该将用户名与他的年龄一起输入,并将这些值插入两个不同的只读文本框。

我个人建议您重新考虑您的方法,但您需要的是:

    string sUserToSearch = "username";
    string sAgeToSearch = "22";

    string[] readText = File.ReadAllLines("UserInfo.txt");
    for (int i = 0; i < readText.count-2; i++) {
         if(readText[i] == sUserToSearch && readText[i+1] == sAgeToSearch);
             // Found it!
    }
string-sUserToSearch=“username”;
字符串sAgeToSearch=“22”;
字符串[]readText=File.ReadAllLines(“UserInfo.txt”);
对于(int i=0;i

我不知道你想做什么,但如果我没弄错的话,你应该阅读更多关于

的个人资料。我建议你重新思考你的方法,但以下是你想要的:

    string sUserToSearch = "username";
    string sAgeToSearch = "22";

    string[] readText = File.ReadAllLines("UserInfo.txt");
    for (int i = 0; i < readText.count-2; i++) {
         if(readText[i] == sUserToSearch && readText[i+1] == sAgeToSearch);
             // Found it!
    }
string-sUserToSearch=“username”;
字符串sAgeToSearch=“22”;
字符串[]readText=File.ReadAllLines(“UserInfo.txt”);
对于(int i=0;i

我不知道你想做什么,但如果我没弄错,你应该多读一些关于

的内容。首先,你必须分离数据,然后将它们插入文本文件

private void WriteUserToFile(User user, string path)
{
    using(var sw = new StreamWriter(path, true))
    {
        sw.WriteLine(user.Name + ";" + user.Age);
    }
}
现在您有了这样一个文件:

User1;10
User2;20
User3;45
现在您可以拆分数据了:

private IEnumerable<User> ReadUsersFromTextFile(string path)
{
    var users = new List<User>();

    using(var sr = new StringReader(path)
    {
        do
        {
            var strings = sr.ReadLine().split(';');                 
            var user = new User();
            user.Name = strings[0];
            user.Age = strings[1];
            users.Add(user);
        }while(!sr.EndOfStream)
    }

    return users;
}
private IEnumerable ReadUsersFromTextFile(字符串路径)
{
var users=新列表();
使用(var sr=新的StringReader(路径)
{
做
{
var strings=sr.ReadLine().split(“;”);
var user=新用户();
user.Name=strings[0];
user.Age=strings[1];
用户。添加(用户);
}而(!sr.EndOfStream)
}
返回用户;
}

首先,您必须将数据分开,然后将它们插入文本文件

private void WriteUserToFile(User user, string path)
{
    using(var sw = new StreamWriter(path, true))
    {
        sw.WriteLine(user.Name + ";" + user.Age);
    }
}
现在您有了这样一个文件:

User1;10
User2;20
User3;45
现在您可以拆分数据了:

private IEnumerable<User> ReadUsersFromTextFile(string path)
{
    var users = new List<User>();

    using(var sr = new StringReader(path)
    {
        do
        {
            var strings = sr.ReadLine().split(';');                 
            var user = new User();
            user.Name = strings[0];
            user.Age = strings[1];
            users.Add(user);
        }while(!sr.EndOfStream)
    }

    return users;
}
private IEnumerable ReadUsersFromTextFile(字符串路径)
{
var users=新列表();
使用(var sr=新的StringReader(路径)
{
做
{
var strings=sr.ReadLine().split(“;”);
var user=新用户();
user.Name=strings[0];
user.Age=strings[1];
用户。添加(用户);
}而(!sr.EndOfStream)
}
返回用户;
}

这是基于什么路径语法的
“C://Program Files/UserInfo”
以前从未见过这样的东西。你说“现在不知道如何检索”是什么意思?文件内容在
mystring
中,您还需要什么吗?您好,为什么不使用xml文件来存储用户信息,文本文件不用于存储用户信息?这
“C://Program Files/UserInfo”
基于什么路径语法?以前从未见过类似的内容。您说“现在不知道如何检索”是什么意思?文件的内容在
mystring
中,您还需要什么吗?您好,为什么不使用xml文件来存储用户信息,文本文件不适合这样做您好,您是对的,但这是一个不好的做法,所以回答一个不好的做法好吗?@HassanBoutougha尽管这是一个不好的做法,Shai还是将OP发送给了guid“你好,你说得对,但这是一个不好的做法,所以回答一个不好的做法好吗?”HassanBoutougha说,尽管这是一个不好的做法,Shai还是把这篇文章发给了一个更好的做法指南,甚至说“就个人而言,我建议你重新考虑你的方法,但以下是你想要的”