C#實現(xiàn)字符串格式化的五種方式
1. 字符串插值(C# 6.0 及更高版本)
字符串插值是 C# 6.0 引入的一種非常直觀和方便的字符串格式化方法。通過在字符串中使用 ${}
語法,可以直接將變量的值嵌入到字符串中。
int number = 10; string message = $"The number is {number}."; Console.WriteLine(message); // 輸出:The number is 10.
2. String.Format 方法
String.Format
方法允許你使用類似于 printf 的格式字符串來格式化字符串。
int number = 10; string message = String.Format("The number is {0}.", number); Console.WriteLine(message); // 輸出:The number is 10. // 也可以指定多個參數(shù) string name = "Alice"; message = String.Format("Hello, {0}! The number is {1}.", name, number); Console.WriteLine(message); // 輸出:Hello, Alice! The number is 10.
3. 復(fù)合格式化(與 String.Format 類似)
許多.NET 類庫中的方法都支持復(fù)合格式化,這意味著你可以直接使用格式字符串和參數(shù)列表來生成格式化的字符串,而無需顯式調(diào)用 String.Format。例如,Console.WriteLine、StringBuilder.AppendFormat 等方法。
int number = 10; Console.WriteLine("The number is {0}.", number); // 輸出:The number is 10.
4. ToString 方法
大多數(shù).NET 類型都提供了 ToString
方法,該方法可以接受一個或多個格式化參數(shù),以生成格式化的字符串表示。
int number = 10; string formattedNumber = number.ToString("D8"); // 輸出:00000010,D8 表示至少顯示8位數(shù)字,不足前面補0 Console.WriteLine(formattedNumber);
5. 自定義格式化
你還可以通過實現(xiàn) IFormattable
接口來自定義類型的格式化方式。這允許你在類型級別上控制字符串的格式化行為。
public class MyNumber : IFormattable { private int value; public MyNumber(int value) { this.value = value; } public string ToString(string format, IFormatProvider formatProvider) { if (formatProvider != null) { // 可以使用 formatProvider } if (format == "hex") { return value.ToString("X"); } return value.ToString(); } // 還可以覆蓋 ToString() 無參版本 public override string ToString() { return ToString(null, null); } } // 使用 MyNumber myNumber = new MyNumber(255); Console.WriteLine(myNumber.ToString("hex")); // 輸出:FF
到此這篇關(guān)于C#實現(xiàn)字符串格式化的五種方式的文章就介紹到這了,更多相關(guān)C#字符串格式化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
WPF仿Tabcontrol實現(xiàn)切換多個不同View
這篇文章主要為大家詳細介紹了WPF如何模仿Tabcontrol實現(xiàn)切換多個不同View,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11C# SqlHelper應(yīng)用開發(fā)學(xué)習(xí)
這篇文章主要和大家一起學(xué)習(xí)C# SqlHelper應(yīng)用開發(fā),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01