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