0

So, I am attempting to create multiple files with different names. I am trying to change one number in the file name like this, but it won't let me use "{0}" to insert a string.

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);
}

The main point is I want to be able to create multiple files with a foreach loop. I can handle the int parsing seperately.

4

3 回答 3

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);
于 2016-03-18T13:26:51.970 回答
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);
于 2016-03-18T13:27:01.587 回答
0

您的代码当前已损坏;你漏掉了string.Format(

File.WriteAllText(string.Format(@"C:\Users\MyName\Desktop\Programming\test{0}.txt", value), pm.Body);
于 2016-03-18T13:27:37.503 回答