C#實(shí)現(xiàn)字符串格式化的五種方式
1. 字符串插值(C# 6.0 及更高版本)
字符串插值是 C# 6.0 引入的一種非常直觀和方便的字符串格式化方法。通過(guò)在字符串中使用 ${} 語(yǔ)法,可以直接將變量的值嵌入到字符串中。
int number = 10;
string message = $"The number is {number}.";
Console.WriteLine(message); // 輸出:The number is 10.2. String.Format 方法
String.Format 方法允許你使用類(lèi)似于 printf 的格式字符串來(lái)格式化字符串。
int number = 10;
string message = String.Format("The number is {0}.", number);
Console.WriteLine(message); // 輸出:The number is 10.
// 也可以指定多個(gè)參數(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 類(lèi)似)
許多.NET 類(lèi)庫(kù)中的方法都支持復(fù)合格式化,這意味著你可以直接使用格式字符串和參數(shù)列表來(lái)生成格式化的字符串,而無(wú)需顯式調(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 類(lèi)型都提供了 ToString 方法,該方法可以接受一個(gè)或多個(gè)格式化參數(shù),以生成格式化的字符串表示。
int number = 10;
string formattedNumber = number.ToString("D8"); // 輸出:00000010,D8 表示至少顯示8位數(shù)字,不足前面補(bǔ)0
Console.WriteLine(formattedNumber);5. 自定義格式化
你還可以通過(guò)實(shí)現(xiàn) IFormattable 接口來(lái)自定義類(lèi)型的格式化方式。這允許你在類(lèi)型級(jí)別上控制字符串的格式化行為。
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() 無(wú)參版本
public override string ToString()
{
return ToString(null, null);
}
}
// 使用
MyNumber myNumber = new MyNumber(255);
Console.WriteLine(myNumber.ToString("hex")); // 輸出:FF到此這篇關(guān)于C#實(shí)現(xiàn)字符串格式化的五種方式的文章就介紹到這了,更多相關(guān)C#字符串格式化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C# 利用ICSharpCode.SharpZipLib實(shí)現(xiàn)在線壓縮和解壓縮
本文主要主要介紹了利用ICSharpCode.SharpZipLib第三方的DLL庫(kù)實(shí)現(xiàn)在線壓縮和解壓縮的功能,并做了相關(guān)的代碼演示。2016-04-04
C#實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器小程序
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Unity實(shí)現(xiàn)簡(jiǎn)單虛擬搖桿
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)簡(jiǎn)單虛擬搖桿,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04
C#使用System.Net郵件發(fā)送功能踩過(guò)的坑
這篇文章主要介紹了C#使用System.Net郵件發(fā)送功能踩過(guò)的坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
基于C#實(shí)現(xiàn)的高性能實(shí)時(shí)MP4錄屏方案
這篇文章主要介紹了基于C#實(shí)現(xiàn)的高性能實(shí)時(shí)MP4錄屏方案,文中通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2026-02-02

