📅  最后修改于: 2023-12-03 14:47:43.833000             🧑  作者: Mango
在 C# 程序中,使用 string.Format() 方法可以将一组格式化的参数替换字符串中的占位符。这个方法是在 .NET Framework 1.1 中引入的,是一种非常常见的字符串格式化方式。
使用 string.Format() 方法格式化字符串非常简单,示例如下:
string name = "Alice";
int age = 25;
string message = string.Format("My name is {0} and I am {1} years old.", name, age);
这个示例中,我们想要将两个变量的值插入到字符串中,使用了占位符 {0}
和 {1}
。在调用 string.Format() 方法时,传入这两个变量的值即可。
占位符的格式如下:
{index[,alignment][:formatString]}
其中,index
表示要替换的参数的索引,从 0 开始;alignment
表示对齐方式;formatString
则表示要应用的格式化字符串。这些部分都是可选的,下面给出一些示例:
string message1 = string.Format("Hello, {0}!", "world"); // Hello, world!
string message2 = string.Format("The answer is {0}", 42); // The answer is 42
string message3 = string.Format("{0,10}", "hello"); // hello
string message4 = string.Format("{0,-10}", "hello"); // hello
string message5 = string.Format("{0:D}", DateTime.Now); // 5/5/2022 12:00:00 AM
在上面的示例中,我们展示了不同类型的占位符。message1
和 message2
分别使用了字符串和整数作为参数,并应用了简单的占位符;message3
和 message4
分别使用了右对齐和左对齐的对齐方式;message5
则是将日期格式化为短日期格式。
使用 string.Format() 方法,我们也可以格式化数字。示例如下:
int number = 12345;
string message6 = string.Format("{0:C}", number); // $12,345.00
string message7 = string.Format("{0:N2}", number); // 12,345.00
string message8 = string.Format("{0:E2}", number); // 1.234500E+004
在上面的示例中,我们展示了不同类型的数字格式化。message6
将数字格式化为货币格式,message7
则是以逗号分隔的数字格式,message8
是科学计数法格式。
使用 string.Format() 方法,我们也可以格式化日期和时间。示例如下:
DateTime date = new DateTime(2022, 5, 5);
string message9 = string.Format("{0:d}", date); // 5/5/2022
string message10 = string.Format("{0:D}", date); // Thursday, May 05, 2022
string message11 = string.Format("{0:t}", date); // 12:00 AM
string message12 = string.Format("{0:T}", date); // 12:00:00 AM
在上面的示例中,我们展示了不同类型的日期和时间格式化。message9
和 message10
分别使用了短日期格式和长日期格式,message11
和 message12
则分别是短时间格式和长时间格式。
在本文中,我们介绍了使用 string.Format() 方法格式化字符串的基本用法,包括了占位符的格式、不同类型的占位符、数字格式化、日期和时间格式化等方面。string.Format() 是一个非常常用的字符串格式化方式,可以帮助我们快速地将变量的值插入到需要的字符串中。