1、$字符串格式化
字符串插值是 C# 6.0 引入的一种更简洁的字符串格式化方法。它使用 $
符号和花括号 {}
来插入变量。
string name = "Levi";
int age = 34;
var date = DateTime.Now;
Console.WriteLine($"He asked, \"Is your name {name}?\",{{");
Console.WriteLine($"{name} is {age} year{(age == 1 ? "" : "s")} old.");
Console.WriteLine($"Hello, {name}! Today is {date.DayOfWeek}, it's {date:HH:mm} now.");
2、String.Format()字符串格式化
String.Format
方法可以创建格式化的字符串。可以使用占位符 {index}
来指定要插入的值的位置。
string str1 =string.Format("{0:N1}",56789); //result: 56,789.0
string str2 =string.Format("{0:N2}",56789); //result: 56,789.00
string str3 =string.Format("{0:N3}",56789); //result: 56,789.000
string str8 =string.Format("{0:F1}",56789); //result: 56789.0
string str9 =string.Format("{0:F2}",56789); //result: 56789.00
string str11 =(56789 / 100.0).ToString("#.##"); //result: 567.89
string str12 =(56789 / 100).ToString("#.##"); //result: 567
3、ToString()字符串格式化
int i=12345;
Console.WriteLine(i.ToString());
//结果 12345
Console.WriteLine(i.ToString("d8"));
//结果 00012345
double i=12345.6789;
Console.WriteLine(i.ToString("f2")); //结果 12345.68
Console.WriteLine(i.ToString("f6"));
//结果 12345.678900
double i=12345.6789;
Console.WriteLine(i.ToString("n")); //结果 12,345.68
Console.WriteLine(i.ToString("n4")); //结果 12,345.6789
DateTime dt =new DateTime(2003,5,25);
Console.WriteLine(dt.ToString("yy.M.d"));
//结果 03.5.25
Console.WriteLine(dt.ToString("yyyy年M月"));
//结果 2003年5月
4、@符号的使用
当变量与关键字具有相同的名称时,可以使用@符号
public void FormatString(string @string)
{
Console.WriteLine($"Hello with at{@string}how are you?");
String.Format("Hello {0}", @string);
Console.WriteLine("Hello with at{0}how are you?",@string);
}
5、使用 String.Concat 和 + 操作符
可以使用 String.Concat
方法或 +
操作符来连接字符串。
string name = "John";
int age = 30;
string formattedString = "Name: " + name + ", Age: " + age;
Console.WriteLine(formattedString); // 输出: Name: John, Age: 30
6. 使用 StringBuilder
当需要进行大量的字符串拼接操作时,使用 StringBuilder
可以提高性能。
using System.Text;
string name = "John";
int age = 30;
StringBuilder sb = new StringBuilder();
sb.Append("Name: ");
sb.Append(name);
sb.Append(", Age: ");
sb.Append(age);
string formattedString = sb.ToString();
Console.WriteLine(formattedString); // 输出: Name: John, Age: 30
7. 使用 String.Join
如有一个字符串数组或列表并希望将其连接成一个字符串,可以使用 String.Join
。
string[] parts = { "Name: John", "Age: 30" };
string formattedString = String.Join(", ", parts);
Console.WriteLine(formattedString); // 输出: Name: John, Age: 30