导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

String.Format 方法 (String, Object[])

2013/12/13

将指定字符串中的格式项替换为指定数组中相应对象的字符串表示形式。

Namespace:  System
程序集:  mscorlib(位于 mscorlib.dll 中)

public static string Format(
	string format,
	params Object[] args
)

参数

format
类型: System.String
复合格式字符串(请参见“备注”)。
args
类型: System.Object []
一个对象数组,其中包含零个或多个要设置格式的对象。

返回值

类型: System.String
format 的一个副本,其中格式项已替换为 args 中相应对象的字符串表示形式。

异常条件
ArgumentNullException

formatargsnull

FormatException

format 无效。

- 或 -

格式项的索引小于零或大于等于 args 数组的长度。

此方法使用 .NET Framework 的[87b7d528-73f6-43c6-b71a-f23043039a49]将对象的值转换为其字符串表示形式,并将该表示形式嵌入字符串中。.NET Framework 提供了广泛的格式设置支持,桌面应用程序 .NET Framework 文档中的以下格式设置主题对此有更详细的描述。

format 参数由零或多个文本序列与零或多个索引占位符混合组成,其中索引占位符称为格式项,对应于与此方法的参数列表中的对象。格式设置过程将每个格式项替换为相应对象的字符串表示形式。

格式项的语法如下:

{index[,length][:formatString]}

方括号中的元素是可选的。下表描述每个元素。有关复合格式设置功能(包括格式项的语法)的更多信息,请参见[87b7d528-73f6-43c6-b71a-f23043039a49]

元素

说明

index

要设置格式的对象的参数列表中的位置(从零开始)。如果由 index 指定的对象为 null,则格式项将被 String.Empty 替换。如果 index 位置没有参数,将引发 FormatException

,length

参数的字符串表示形式中包含的最小字符数。如果该值是正的,则参数右对齐;如果该值是负的,则参数左对齐。

:formatString

要设置格式的对象支持的标准或自定义格式字符串。formatString 的可能值与该对象的 ToString(format) 方法支持的值相同。如果没有指定 formatString,并且要设置格式的对象实现了 IFormattable 接口,则将 null 作为 IFormattable.ToString 格式字符串的 format 参数的值进行传递。

说明注意:

有关日期和时间值使用的标准和自定义格式字符串的信息,请参见[bb79761a-ca08-44ee-b142-b06b3e2fc22b][98b374e3-0cc2-4c78-ab44-efb671d71984]。有关数值使用的标准和自定义格式字符串的信息,请参见[580e57eb-ac47-4ffd-bccd-3a1637c2f467][6f74fd32-6c6b-48ed-8241-3c2b86dea5f4]。有关枚举使用的标准格式字符串的信息,请参见[dd1ff672-1052-42cf-8666-4924fb6cd1a1]

必须使用前导大括号字符和尾部大括号字符,即“{“和”}”。若要在 format 中指定单个大括号字符,请指定两个前导大括号字符或尾部大括号字符;即“{{“或”}}”。

如果 format 的值为“Thank you for your purchase of {0:####} copies of Microsoft®.NET (Core Reference).”,并且 arg[0] 是值为 123 的 Int16,则返回值为:

“Thank you for your purchase of 123 copies of Microsoft®.NET (Core Reference).”

如果 format 的值为“Brad's dog has {0,-8:G} fleas.”,arg[0] 是值为 42 的 Int16(在此示例中,下划线表示填充空格),则返回值为:

“Brad's dog has 42______ fleas.”

下面的示例创建一个字符串,包含有关特定日期高温和低温的数据。复合格式字符串在 C# 示例中有 5 个格式项,在 Visual Basic 示例中有 6 个格式项。两个格式项定义其相应值的字符串表示形式的宽度,第一个格式项还包括标准日期和时间格式字符串。


using System;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      DateTime date1 = new DateTime(2009, 7, 1);
      TimeSpan hiTime = new TimeSpan(14, 17, 32);
      decimal hiTemp = 62.1m;
      TimeSpan loTime = new TimeSpan(3, 16, 10);
      decimal loTemp = 54.8m;

      string result1 = String.Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)",
                                     date1, hiTime, hiTemp, loTime, loTemp);
      outputBlock.Text += result1 + "\n";
      outputBlock.Text += "\n";

      string result2 = String.Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)",
                                     new object[] { date1, hiTime, hiTemp, loTime, loTemp });
      outputBlock.Text += result2 + "\n";
   }
}
// The example displays the following output:
//       Temperature on 7/1/2009:
//          14:17:32: 62.1 degrees (hi)
//          03:16:10: 54.8 degrees (lo)
//       Temperature on 7/1/2009:
//          14:17:32: 62.1 degrees (hi)
//          03:16:10: 54.8 degrees (lo)


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示:
© 2014 Microsoft