.NET(C#)字符串格式化的几种方法及@符号的使用

.NET 中,C# 提供了多种字符串格式化的方法,每种方法都有其独特的用途和优势。本文主要介绍.NET C#中格式化字符串的方法,通过$符号格式化,或String.Format方法格式化,或用ToString()字符串拼接,以及@符号的使用。

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

推荐阅读
cjavapy编程之路首页