具有args和日期格式的String.Format

时间:2015-05-17 17:16:08

标签: c# string

我有一个字符串,用于创建一个文本文件,该文件需要包含文件名的前缀和文件名中的日期。

{0}_{0:MMddyyyy}.txt

现在,如果我将其称为以下内容:

string.Format("{0}_{0:MMddyyyy}.txt", "PRE", DateTime.Now);

我希望得到:

PRE_05172015.txt

但我得到了:

PRE_PRE.txt

3 个答案:

答案 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);