C# 编辑文本文件

问题描述

    [Command("ping")]
    public async Task Ping()
    {
        using (TextReader reader = File.OpenText("config.txt"))
        {
            int points = int.Parse(reader.ReadLine());
            var pingembed = new EmbedBuilder()
            {
                //Optional color
                Color = Color.Green,Title = "? Pong!",Description = "Bot | " + points + ":0 | Users"
            };
            await ReplyAsync("",false,pingembed.Build());

            string configpoints = Convert.ToString(int.Parse(reader.ReadLine()));
            configpoints = configpoints.Remove(1).Insert(1,Convert.ToString(points = points + 1));
        }                                
    }

我正在创建一个 discord 机器人。命令“ping”发送一个嵌入。在 Embed 的描述中,有一个称为 points 的整数,每次有人使用“ping”命令时,points 的值都应该得到 +1。 点的值位于名为 config.txt 的文本文件中。目前我正在尝试删除点的值(值为 1)并插入新值(值应为 2)。

解决方法

你好像又忘记写文件了..读写一个只存储ping数的文件是单行的..

File.WriteAllText(
  @"c:\temp\ping.txt",(int.Parse(File.ReadAllText(@"c:\temp\ping.txt"))+1).ToString()
);

如果您的文件包含其他内容,您将需要更多地参与阅读和写作...