目前正学习C#中,在学做同学录(用记事本存储同学的信息,有姓名,学号,地址,以及联系方式)时,遇到一个比较棘手的问题(怎么实现对记事本信息的修改啊?),比如说,我只想修改一个同学的联系方式和地址,其余则不用修改。
    思考良久,想到了好多想法,均已失败告终,始终修改不了记事本的内容,打开记事本一看,还是原来的内容,真是崩溃!!!望大侠们指点!!!

解决方案 »

  1.   

    读制定行数据
    List<string> lines = new List<string>(File.ReadAllLines(""));
    string[] arr=File.ReadAllLines("").Skip(1).ToArray();StreamReader reader = File.OpenText("文件");
    int skip = 3;
    string line = reader.ReadLine();
    int current_line = 1;
    while (line != null && current_line++ < skip)
    {
        line = reader.ReadLine();
    }
      

  2.   

    //先把旧的记录读出来
                string oldstr = "";
                StreamReader sr = File.OpenText(@"Address_list.txt");
                
               
                
                string info = "";
                string[] messsge = new string[100];
                if (textBox1_IdNum.Text.Trim() == null) return;//学号框
                while (info != null)
                {
                    info = sr.ReadLine();// 一行一行地读取
                    messsge= info.Split(ch, StringSplitOptions.RemoveEmptyEntries);//拆分
                    if (messsge[0] == textBox1_IdNum.Text.Trim())//提取学号,按学号进行查找
                    {
                       
                        oldstr= messsge[0].PadRight(20, ' ') + messsge[1].PadRight(20, ' ') + messsge[2].PadRight(20, ' ') + messsge[3];
                        
                        break;
                    }
                }
                sr.Close();
                FileStream fs = File.OpenWrite(@"Address_list.txt");
                StreamWriter sw = new StreamWriter(fs);
                string newstr = textBox1_IdNum.Text.PadRight(20, ' ') + textBox2_Name.Text.PadRight(20, ' ') + textBox4_Telephone.Text.PadRight(20, ' ') + textBox3_Address.Text;//在修改的时候,提取用户界面输入的信息
                StringBuilder info_build = new StringBuilder();
                info_build.Replace(oldstr, newstr);结果不成功啊