消息框的简化代码是文件名是从File.WriteAllText构建的

本文关键字:File WriteAllText 构建 文件名 代码 消息 | 更新日期: 2023-09-27 18:36:06

我有这个代码,我想简化

       File.WriteAllText(
            Path.Combine(dir,
                DateTime.Now.ToString("dd-MM-yyyy_hh-mm-ss") + "-" + messageType + "-" + messageGateway + ".csv"),
            messageBody);
        MessageBox.Show(Strings.AllActionLogViewModel_ExportMessageContentToCsv_Saved_Log_File + " " + DateTime.Now.ToString("dd-MM-yyyy_hh-mm-ss") + "-" + messageType + "-" + messageGateway + " " + "to " + dir);}

如您所见,我已经在消息框中复制了文件名语法。 我想压缩它,以便我的消息框返回文件名,但从 File.WriteAllTest 方法获取它,而不是重写语法。

消息框的简化代码是文件名是从File.WriteAllText构建的

只需将其分配给变量,然后在需要的地方重用它。这也将避免在两个不同位置使用DateTime.Now的潜在问题。虽然不太可能,但如果第二个更改,您可能会在两个调用之间获得两个不同的值。

我还将使用string.Format函数使其更具可读性:

var fileName = string.Format("{0}-{1}-{2}",
    DateTime.Now.ToString("dd-MM-yyyy_hh-mm-ss"),
    messageType, messageGateway);
File.WriteAllText(Path.Combine(dir, fileName + ".csv"), messageBody);
MessageBox.Show(string.Format("{0} {1} to {2}",
    Strings.AllActionLogViewModel_ExportMessageContentToCsv_Saved_Log_File,
    fileName, dir));