如何在File.WriteAllLines中使用“{0}”?

时间:2016-03-18 13:25:43

标签: c# io writealltext

所以,我正在尝试创建具有不同名称的多个文件。我试图像这样更改文件名中的一个数字,但它不会让我使用“{0}”来插入字符串。

String value = "1";

foreach (var message in reddit.User.PrivateMessages) {
  var pm = message as PrivateMessage;

  File.WriteAllText(
    (@"C:\Users\MyName\Desktop\Programming\test{0}.txt", value), 
    pm.Body);
}

重点是我希望能够使用foreach循环创建多个文件。我可以单独处理int解析。

3 个答案:

答案 0 :(得分:4)

您想要格式化String.Format):

File.WriteAllText(
   String.Format(@"C:\Users\MyName\Desktop\Programming\test{0}.txt", value),
   pm.Body);

C#6.0 中,您可以将其设为字符串插值

File.WriteAllText(
   $@"C:\Users\MyName\Desktop\Programming\test{value}.txt",
   pm.Body);

答案 1 :(得分:0)

您无法使用File.WriteAllText执行此操作。

使用string.format

尝试此操作
 File.WriteAllText(string.format(@"C:\Users\MyName\Desktop\Programming\test{0}.txt", value), pm.Body);

或像这样使用c#6.0

File.WriteAllText($@"C:\Users\MyName\Desktop\Programming\test{value}.txt", pm.Body);

答案 2 :(得分:0)

您的代码目前已被破坏;你遗漏了string.Format(

File.WriteAllText(string.Format(@"C:\Users\MyName\Desktop\Programming\test{0}.txt", value), pm.Body);
相关问题