c#中string message = string.Format()的意义和用法

string message = string.Format("姓名{0},年龄{1},爱好{2},所学课程:{3}。",
this.Name, this.Age.ToString(), this.Hobby, courses);
这句话的意思 以及用在什么时候 谢谢大家

这是格式字符串。前面的{}里的数字是索引,而且必须从0开始。引号后面的值的个数必须和索引一样,而且必须一一对应。这个一般是在输出字符串里面包含有变量的时候用。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-21
参数
format
类型:System..::.String

复合格式字符串。

args
类型:array<System..::.Object>[]()[]

包含零个或多个要格式化的对象的 Object 数组。

返回值
类型:System..::.String

format 的一个副本,其中格式项已替换为 args 中相应 Object 实例的 String 等效项。

异常
异常 条件
ArgumentNullException format 或 args 为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)。

FormatException format 无效。

- 或 -

用于指示要格式化的参数的数字小于零,或者大于等于 args 数组的长度。

备注
此方法使用 .NET Framework 的复合格式设置功能将对象的值转换为其文本表示形式,并将该表示形式嵌入字符串中。.NET Framework 提供了广泛的格式设置支持,下面的格式设置主题中对此有更详细的描述。

有关 Format、AppendFormat 等方法以及 WriteLine 的某些重载所支持的复合格式设置功能的更多信息,请参见复合格式设置。

有关数值格式说明符的更多信息,请参见标准数字格式字符串和自定义数字格式字符串。

有关日期和时间格式说明符的更多信息,请参见标准日期和时间格式字符串和自定义日期和时间格式字符串。

有关枚举格式说明符的更多信息,请参见枚举格式字符串。

有关格式设置的更多信息,请参见为类型设置格式和格式设置概述。

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

格式项的语法是 ,它指定了一个强制索引、格式化文本的可选长度和对齐方式,以及格式说明符字符的可选字符串,其中格式说明符字符用于控制如何设置相应对象的值的格式。格式项的组成部分包括:

索引
从零开始的整数,指示对象列表中要格式化的元素。如果由索引指定的对象为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing),则格式项将被空字符串 ("") 替换。

对齐方式
可选整数,指示包含格式化值的区域的最小宽度。如果格式化值的长度小于对齐方式,则用空格填充该区域。如果对齐方式为负,则格式化值将在该区域中左对齐;如果对齐方式为正,则格式化值将右对齐。如果没有指定对齐方式,则该区域的长度为格式化值的长度。如果指定对齐方式,则需要使用逗号。

格式字符串
可选的格式说明符字符串。如果没有指定格式字符串,并且对应的参数实现了 IFormattable 接口,则将 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing) 用作 IFormattable..::.ToString 格式字符串。因此,IFormattable..::.ToString 的所有实现都必须允许 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing) 作为格式字符串,并以 String 对象的形式返回对象表示形式的默认格式设置。如果指定格式字符串,则需要使用冒号。

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

如果 format 的值为“Thank you for your purchase of 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 fleas.”,arg[0] 是值为 42 的 Int16(在此示例中,下划线表示填充空格),则返回值为:

“Brad's dog has 42______ fleas.”

示例
下面的代码示例演示数字、日期和枚举的标准格式设置说明符。

Visual Basic 复制代码
' This code example demonstrates the String.Format() method.
' This example uses the provider parameter to supply formatting
' information using the invariant culture.

Imports System.Globalization

Class Sample
Public Enum Color
Yellow = 1
Blue = 2
Green = 3
End Enum 'Color

Private Shared thisDate As DateTime = DateTime.Now

Public Shared Sub Main()

' Store the output of the String.Format method in a string.
Dim s As String = ""

Console.Clear()

' Format a negative integer or floating-point number in various ways.
Console.WriteLine("Standard Numeric Format Specifiers")
s = String.Format(CultureInfo.InvariantCulture, _
"(C) Currency: . . . . . . . . " & vbCrLf & _
"(D) Decimal:. . . . . . . . . " & vbCrLf & _
"(E) Scientific: . . . . . . . " & vbCrLf & _
"(F) Fixed point:. . . . . . . " & vbCrLf & _
"(G) General:. . . . . . . . . " & vbCrLf & _
" (default):. . . . . . . . (default = 'G')" & vbCrLf & _
"(N) Number: . . . . . . . . . " & vbCrLf & _
"(P) Percent:. . . . . . . . . " & vbCrLf & _
"(R) Round-trip: . . . . . . . " & vbCrLf & _
"(X) Hexadecimal:. . . . . . . " & vbCrLf, _
- 123, - 123.45F)
Console.WriteLine(s)

' Format the current date in various ways.
Console.WriteLine("Standard DateTime Format Specifiers")
s = String.Format(CultureInfo.InvariantCulture.DateTimeFormat, _
"(d) Short date: . . . . . . . " & vbCrLf & _
"(D) Long date:. . . . . . . . " & vbCrLf & _
"(t) Short time: . . . . . . . " & vbCrLf & _
"(T) Long time:. . . . . . . . " & vbCrLf & _
"(f) Full date/short time: . . " & vbCrLf & _
"(F) Full date/long time:. . . " & vbCrLf & _
"(g) General date/short time:. " & vbCrLf & _
"(G) General date/long time: . " & vbCrLf & _
" (default):. . . . . . . . (default = 'G')" & vbCrLf & _
"(M) Month:. . . . . . . . . . " & vbCrLf & _
"(R) RFC1123:. . . . . . . . . " & vbCrLf & _
"(s) Sortable: . . . . . . . . " & vbCrLf & _
"(u) Universal sortable: . . . (invariant)" & vbCrLf & _
"(U) Universal sortable: . . . " & vbCrLf & _
"(Y) Year: . . . . . . . . . . " & vbCrLf, _
thisDate)
Console.WriteLine(s)

' Format a Color enumeration value in various ways.
Console.WriteLine("Standard Enumeration Format Specifiers")
s = String.Format(CultureInfo.InvariantCulture, _
"(G) General:. . . . . . . . . " & vbCrLf & _
" (default):. . . . . . . . (default = 'G')" & vbCrLf & _
"(F) Flags:. . . . . . . . . . (flags or integer)" & vbCrLf & _
"(D) Decimal number: . . . . . " & vbCrLf & _
"(X) Hexadecimal:. . . . . . . " & vbCrLf, _
Color.Green)
Console.WriteLine(s)
End Sub 'Main
End Class 'Sample
'
' This example displays the following output to the console:
'
' 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: . . . . . . . 07/09/2007
' (D) Long date:. . . . . . . . Monday, 09 July 2007
' (t) Short time: . . . . . . . 13:42
' (T) Long time:. . . . . . . . 13:42:50
' (f) Full date/short time: . . Monday, 09 July 2007 13:42
' (F) Full date/long time:. . . Monday, 09 July 2007 13:42:50
' (g) General date/short time:. 07/09/2007 13:42
' (G) General date/long time: . 07/09/2007 13:42:50
' (default):. . . . . . . . 07/09/2007 13:42:50 (default = 'G')
' (M) Month:. . . . . . . . . . July 09
' (R) RFC1123:. . . . . . . . . Mon, 09 Jul 2007 13:42:50 GMT
' (s) Sortable: . . . . . . . . 2007-07-09T13:42:50
' (u) Universal sortable: . . . 2007-07-09 13:42:50Z (invariant)
' (U) Universal sortable: . . . Monday, 09 July 2007 20:42:50
' (Y) Year: . . . . . . . . . . 2007 July
'
' Standard Enumeration Format Specifiers
' (G) General:. . . . . . . . . Green
' (default):. . . . . . . . Green (default = 'G')
' (F) Flags:. . . . . . . . . . Green (flags or integer)
' (D) Decimal number: . . . . . 3
' (X) Hexadecimal:. . . . . . . 00000003

C# 复制代码
// This code example demonstrates the String.Format() method.
// Formatting for this example uses the "en-US" culture.

using System;
using System.Globalization;

class Sample
{
enum Color ;
static DateTime thisDate = DateTime.Now;

public static void Main()
{
// Store the output of the String.Format method in a string.
string s = "";

Console.Clear();

// Format a negative integer or floating-point number in various ways.
Console.WriteLine("Standard Numeric Format Specifiers");
s = String.Format(CultureInfo.InvariantCulture,
"(C) Currency: . . . . . . . . \n" +
"(D) Decimal:. . . . . . . . . \n" +
"(E) Scientific: . . . . . . . \n" +
"(F) Fixed point:. . . . . . . \n" +
"(G) General:. . . . . . . . . \n" +
" (default):. . . . . . . . (default = 'G')\n" +
"(N) Number: . . . . . . . . . \n" +
"(P) Percent:. . . . . . . . . \n" +
"(R) Round-trip: . . . . . . . \n" +
"(X) Hexadecimal:. . . . . . . \n",
-123, -123.45f);
Console.WriteLine(s);

// Format the current date in various ways.
Console.WriteLine("Standard DateTime Format Specifiers");
s = String.Format(CultureInfo.InvariantCulture.DateTimeFormat,
"(d) Short date: . . . . . . . \n" +
"(D) Long date:. . . . . . . . \n" +
"(t) Short time: . . . . . . . \n" +
"(T) Long time:. . . . . . . . \n" +
"(f) Full date/short time: . . \n" +
"(F) Full date/long time:. . . \n" +
"(g) General date/short time:. \n" +
"(G) General date/long time: . \n" +
" (default):. . . . . . . . (default = 'G')\n" +
"(M) Month:. . . . . . . . . . \n" +
"(R) RFC1123:. . . . . . . . . \n" +
"(s) Sortable: . . . . . . . . \n" +
"(u) Universal sortable: . . . (invariant)\n" +
"(U) Universal sortable: . . . \n" +
"(Y) Year: . . . . . . . . . . \n",
thisDate);
Console.WriteLine(s);

// Format a Color enumeration value in various ways.
Console.WriteLine("Standard Enumeration Format Specifiers");
s = String.Format(CultureInfo.InvariantCulture,
"(G) General:. . . . . . . . . \n" +
" (default):. . . . . . . . (default = 'G')\n" +
"(F) Flags:. . . . . . . . . . (flags or integer)\n" +
"(D) Decimal number: . . . . . \n" +
"(X) Hexadecimal:. . . . . . . \n",
Color.Green);
Console.WriteLine(s);
}
}
/*
This example displays the following output to the console:

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: . . . . . . . 07/09/2007
(D) Long date:. . . . . . . . Monday, 09 July 2007
(t) Short time: . . . . . . . 13:48
(T) Long time:. . . . . . . . 13:48:05
(f) Full date/short time: . . Monday, 09 July 2007 13:48
(F) Full date/long time:. . . Monday, 09 July 2007 13:48:05
(g) General date/short time:. 07/09/2007 13:48
(G) General date/long time: . 07/09/2007 13:48:05
(default):. . . . . . . . 07/09/2007 13:48:05 (default = 'G')
(M) Month:. . . . . . . . . . July 09
(R) RFC1123:. . . . . . . . . Mon, 09 Jul 2007 13:48:05 GMT
(s) Sortable: . . . . . . . . 2007-07-09T13:48:05
(u) Universal sortable: . . . 2007-07-09 13:48:05Z (invariant)
(U) Universal sortable: . . . Monday, 09 July 2007 20:48:05
(Y) Year: . . . . . . . . . . 2007 July

Standard Enumeration Format Specifiers
(G) General:. . . . . . . . . Green
(default):. . . . . . . . Green (default = 'G')
(F) Flags:. . . . . . . . . . Green (flags or integer)
(D) Decimal number: . . . . . 3
(X) Hexadecimal:. . . . . . . 00000003
*/

c#中string message = string.Format()的意义和用法
这是格式字符串。前面的{}里的数字是索引,而且必须从0开始。引号后面的值的个数必须和索引一样,而且必须一一对应。这个一般是在输出字符串里面包含有变量的时候用。

C#中string.Format,什么意思
string.Format是将指定的 String类型的数据中的每个格式项替换为相应对象的值的文本等效项。不好理解的举个例子你瞬间就明白了。string str=string.Format("Hello {0}, I'm {1}.", "张三", "李四");执行完这句话后:str的结果就是:Hello 张三,I'm 李四.这样你该明白了吧 ...

C# string.Format用法详解
Console.WriteLine(string.Format("{0:N}", 250000)) \/\/ 250,000.00 实例8:十六进制格式化。Console.WriteLine(string.Format("{0:X000}", 12)) \/\/ C 实例9:自定义格式化(精确到小数点后三位)。Console.WriteLine(string.Format("{0:000.000}", 12.2)) \/\/ 012.200 ...

C#中 stirng.format();方法|用于将字符串数据格式化成指定的格式|
string name = "小白";string.formmat("Hi,My Name Is {0}",name);格式化 就是初始化的意思 简单来说 就是初始化掉这段动态的字符串

string.format
string.format是用于格式化字符串的方法。解释:string.format的定义 string.format是一种在编程中常用的字符串格式化方法。它的主要作用是将数据按照指定的格式进行排版,生成特定格式的字符串。这种方法在多种编程语言中都有应用,例如C#、Java、Python等。string.format的功能 string.format功能十分强大,它...

c#中 string sql=string.format是什么意思
利用string对象提供的Format方法,构造一个SQL语句字符串。例如,有一个名为Student的表,这个表有name, age, id, gendar 四个字段 string gendar = "男";string sql = string.Format("Select * From Student where Gendar ='{0}'", gendar);利用构造出来的SQL语句字符串为:Select * From ...

c#中的string.format()这两种写法那个更好?
讨论 C# 中 `string.format()` 的两种写法,即 `String.Format("a = {0}", a.ToString())` 和 `String.Format("a = {0}", a)` 的性能比较,主要关注的是 `a` 是否需要通过 `ToString()` 方法转换成字符串。对于 `int a;` 类型的变量,直接调用 `ToString()` 导致了一次 `auto ...

C#中的函数Format()是干什么的?怎么用?
string; const Args: array of const): string; overload;Format参数是一个格式字符串,用于格式化Args里面的值的。Args又是什么呢,它是一个变体数组,即它里面可以有多个参数,而且每个参数可以不同。如以下例子:Format(’my name is %6s’,[’wind’]);返回后就是 my name is wind ...

C#中string.Format("{0,3:d1}",a); 前面的0,3各是什么意思?
这里的{0}表示一个占位符,后面的a值就占据这个位置。如果输出序列不止一个a,假定还有b,那么前面还会有第二个占位符{1}。例如:string.Format("{0,3:d1}{1}",a,b);。3:d1表示对下标是0的占位符数据格式化:右对齐、至少占3个字符长度、整数格式且至少1位整数。

C#5种字符串拼接方式,你用过几种?
String.Format: 为拼接提供了更为直观的格式化选项,支持变量插入和字符串格式化,是推荐的高效方式。 $ 符号内插: 利用$符号,可以将变量插入到字符串中,不仅直观,还支持特殊字符串和运算,进一步提升代码可读性。如果你对编程学习有进一步的需求,可以考虑我的知识星球,这里有原创专栏和丰富的心得分享...

相似回答