我有这个代码,我想简化
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);}
正如您所看到的,我在MessageBox中复制了文件名语法。我想压缩这个,所以我的消息框返回文件名,但从File.WriteAllTest方法获取它,而不是重写语法。
答案 0 :(得分:1)
只需将其分配给变量,然后在需要时重复使用。这也可以避免在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));