使用文本文件向用户添加布局

时间:2014-04-21 13:38:46

标签: c# text-files .net

我在向文本文件中的用户添加付款金额时遇到问题。这是我目前的代码:

  public string payout = 1;
  public static void AddPayout(int tPayout, string nickx) {
    if (UserIsSub(nickx)) {
        tPayout = payout * 2;
        File.WriteAllLines("loyalty.txt", File.ReadAllLines("loyalty.txt")
            .Select(x => {
                if (x.StartsWith(nickx)) return nickx + " " + tPayout + "\n\r";
                return x;
        }));
    } else {
        tPayout = payout + 1;
        File.WriteAllLines("loyalty.txt", File.ReadAllLines("loyalty.txt")
            .Select(x => {
                if (x.StartsWith(nickx)) return nickx + " " + tPayout + "\n\r";
                return x;
        }));
    }
}
public static bool UserIsSub(String value)
{
    if (File.ReadAllLines("subscribers.txt").Contains(value.ToLower())) { return true; }
    else { return false; }
}

到目前为止,它只是添加了相同的人,并保持数字相同。我能做些什么改变?

1 个答案:

答案 0 :(得分:0)

我猜你使用了错误的换行代码,

尝试使用\r\n代替\n\r

(顺便说一句,我认为你不需要任何新行标志,因为writealllines也应该写新行)

然后,你应该在select之后插入.ToArray,因为文件仍然可以打开

然后,您将使用新金额替换代码行。如果要添加旧的,则需要解析该行并替换结果。