我有一个字符串,用于创建一个文本文件,该文件需要包含文件名的前缀和文件名中的日期。
{0}_{0:MMddyyyy}.txt
现在,如果我将其称为以下内容:
string.Format("{0}_{0:MMddyyyy}.txt", "PRE", DateTime.Now);
我希望得到:
PRE_05172015.txt
但我得到了:
PRE_PRE.txt
答案 0 :(得分:4)
您需要在第二个位置使用1
,而不是0
。
string.Format("{0}_{1:MMddyyyy}.txt", "PRE", DateTime.Now);
该数字是格式字符串后面的参数列表的索引。
string.Format("{0}_{1:MMddyyyy}.txt",
"PRE", // 0
DateTime.Now); // 1
答案 1 :(得分:0)
你想要使用:
string.Format("{0}_{1:MMddyyyy}.txt", "PRE", DateTime.Now);
请注意,{0}
表示格式字符串中的占位符,由格式字符串后提供给Format
调用的参数列表填充。
在您的情况下,{0}
将在其使用的每个实例中被格式字符串后面的第一个参数替换为"PRE"
,如您在输出中所观察到的那样。
答案 2 :(得分:0)
你使用0两次..替换第二个0和1
string.Format("{0}_{1:MMddyyyy}.txt", "PRE", DateTime.Now);