String.Format方法是我们在.Net应用开发时经常使用到的,它的灵活使用有时能够达到事半功倍的效果,下面我们就借用MSDN上的一个示例来向大家展示String.Format的各种用法。
该示例展示了Numeric、DateTime和Enumeration标准格式的使用,另外,我们也可以根据需要自定义我们需要的格式。 // This code example demonstrates the String.Format() method. using System; class Sample ... { enum Color ...{Yellow = 1, Blue, Green}; static DateTime thisDate = DateTime.Now; public static void Main() ...{ // Store the output of the String.Format method in a string. string s = ""; // Format a negative integer or floating-point number in various ways. Console.WriteLine("Standard Numeric Format Specifiers"); s = String.Format( "(C) Currency: . . . . . . . . {0:C} " + "(D) Decimal:. . . . . . . . . {0:D} " + "(E) Scientific: . . . . . . . {1:E} " + "(F) Fixed point:. . . . . . . {1:F} " + "(G) General:. . . . . . . . . {0:G} " + " (default):. . . . . . . . {0} (default = 'G') " + "(N) Number: . . . . . . . . . {0:N} " + "(P) Percent:. . . . . . . . . {1:P} " + "(R) Round-trip: . . . . . . . {1:R} " + "(X) Hexadecimal:. . . . . . . {0:X} ", -123, -123.45f); Console.WriteLine(s); // Format the current date in various ways. Console.WriteLine("Standard DateTime Format Specifiers"); s = String.Format( "(d) Short date: . . . . . . . {0:d} " + "(D) Long date:. . . . . . . . {0:D} " + "(t) Short time: . . . . . . . {0:t} " + "(T) Long time:. . . . . . . . {0:T} " + "(f) Full date/short time: . . {0:f} " + "(F) Full date/long time:. . . {0:F} " + "(g) General date/short time:. {0:g} " + "(G) General date/long time: . {0:G} " + " (default):. . . . . . . . {0} (default = 'G') " + "(M) Month:. . . . . . . . . . {0:M} " + "(R) RFC1123:. . . . . . . . . {0:R} " + "(s) Sortable: . . . . . . . . {0:s} " + "(u) Universal sortable: . . . {0:u} (invariant) " + "(U) Universal sortable: . . . {0:U} " + "(Y) Year: . . . . . . . . . . {0:Y} ", thisDate); Console.WriteLine(s); // Format a Color enumeration value in various ways. Console.WriteLine("Standard Enumeration Format Specifiers"); s = String.Format( "(G) General:. . . . . . . . . {0:G} " + " (default):. . . . . . . . {0} (default = 'G') " + "(F) Flags:. . . . . . . . . . {0:F} (flags or integer) " + "(D) Decimal number: . . . . . {0:D} " + "(X) Hexadecimal:. . . . . . . {0:X} ", Color.Green); Console.WriteLine(s); }} 以上代码的输出结果如下: Standard Numeric Format Specifiers (C) Currency: . . . . . . . . ¥-123.00 (D) Decimal:. . . . . . . . . -123 (E) Scientific: . . . . . . . -1.234500E+002 (F) Fixed point:. . . . . . . -123.45 (G) General:. . . . . . . . . -123 (default):. . . . . . . . -123 (default = 'G') (N) Number: . . . . . . . . . -123.00 (P) Percent:. . . . . . . . . -12,345.00% (R) Round-trip: . . . . . . . -123.45 (X) Hexadecimal:. . . . . . . FFFFFF85 Standard DateTime Format Specifiers (d) Short date: . . . . . . . 2007-1-29 (D) Long date:. . . . . . . . 2007年1月29日 (t) Short time: . . . . . . . 13:57 (T) Long time:. . . . . . . . 13:57:42 (f) Full date/short time: . . 2007年1月29日 13:57 (F) Full date/long time:. . . 2007年1月29日 13:57:42 (g) General date/short time:. 2007-1-29 13:57 (G) General date/long time: . 2007-1-29 13:57:42 (default):. . . . . . . . 2007-1-29 13:57:42 (default = 'G') (M) Month:. . . . . . . . . . 1月29日 (R) RFC1123:. . . . . . . . . Mon, 29 Jan 2007 13:57:42 GMT (s) Sortable: . . . . . . . . 2007-01-29T13:57:42 (u) Universal sortable: . . . 2007-01-29 13:57:42Z (invariant) (U) Universal sortable: . . . 2007年1月29日 5:57:42 (Y) Year: . . . . . . . . . . 2007年1月 Standard Enumeration Format Specifiers (G) General:. . . . . . . . . Green (default):. . . . . . . . Green (default = 'G') (F) Flags:. . . . . . . . . . Green (flags or integer) (D) Decimal number: . . . . . 3 (X) Hexadecimal:. . . . . . . 00000003