如何更新文本文件中的记录?

时间:2016-03-20 17:09:01

标签: c#

这里我的代码是一个更新值的函数,它不起作用......

            public void UpdateInFile(string modified,int id)
            {
               string[] lines = File.ReadAllLines("items.txt");
               for (int i = 0; i < lines.Length; i++)
               {
                 if (lines[i][0] == id)
                 {
                    lines[i] = modified;
                 }
               }
               File.WriteAllLines("items.txt", lines);
            }

这里修改了修改后的字符串,数据作为

存储在其中

ID,描述,价格,数量

我想替换针对特定ID

存储的数据

2 个答案:

答案 0 :(得分:1)

如果文件中的行具有相同的输入字符串格式,则需要对每行应用拆分并检查拆分行的第一个元素是否与输入ID匹配

    public void UpdateInFile(string modified,int id)
    {
       string[] lines = File.ReadAllLines("items.txt");
       for (int i = 0; i < lines.Length; i++)
       {
          string[] parts = lines[i].Split(',');
          if (Convert.ToInt32(parts[0]) == id)
          {
             lines[i] = modified;
          }
       }
       File.WriteAllLines("items.txt", lines);
   }

说并且不知道你对这个任务有什么限制我真的建议你看看某种数据库系统。有一些非常简单易用,不需要复杂的安装。当然,您需要学习如何使用.NET Framework中与数据库交互的类(搜索ADO.NET教程)

答案 1 :(得分:0)

您正在尝试将char与int进行比较。

if (lines[i][0] == id) {} 

尝试使用:

int output;
if (int.TryParse(lines[i][0], out output)) {}
祝你好运