IRONSOFTWAREHOME
开发者更新

C# 字符串格式化(开发人员如何使用)

Jacob Mellor,Team Iron 的首席技术官
Jacob Mellor
Updated: 2026年7月19日

在C#编程的多样性中,有效的字符串操作是显示清晰和动态输出的基石。 String.Format方法作为一种强大的工具出现,为开发人员提供了格式化字符串的多功能和富有表现力的方式。 要正确使用String.Format方法并在C#中创建自定义格式字符串,请参阅微软官方.NET文档网站上的文档:String.Format Method。

在这份全面指南中,我们将探索String Format的复杂性、语法、用法,以及它在C#中提升字符串格式化的有效方法。

了解基础:

什么是String.Format?

String.Format的方法核心在于通过替换占位符为相应的值来格式化字符串。 该方法是C#中System.String类的一部分,在创建结构良好、可定制的字符串中起着关键作用。

String.Format的语法

String Format方法的语法涉及使用带有占位符的格式项,然后是要替换的值。 这是一个基本示例:

// String.Format example demonstrating basic placeholder usage
string formattedString = string.Format("Hello, {0}! Today is {1}.", "John", DateTime.Now.DayOfWeek);

在此示例中,{0}和{1}是占位符,随后的参数("John"和DateTime.Now.DayOfWeek)替换这些占位符在格式化字符串中。

数字和日期/时间格式化

String.Format的强大功能之一是能够根据特定模式格式化数字和日期/时间值。 例如:

// Formatting numeric and date/time values
decimal price = 19.95m; 
DateTime currentDate = DateTime.Now;

string formattedNumeric = string.Format("Price: {0:C}", price); // Formats the numeric value as currency
string formattedDate = string.Format("Today's date: {0:yyyy-MM-dd}", currentDate); // Formats the date

在这一片段中,**{0:C}将数值格式化为货币,{0:yyyy-MM-dd}**根据特定模式格式化日期。

具有数字索引的多个格式项

在C#中,string.Format方法允许开发人员在格式字符串中使用数字索引作为占位符。 这有助于按特定顺序插入相应的值。

// Demonstrating multiple format items with numerical indices
string formattedNamed = string.Format("Hello, {0}! Your age is {1}.", "Alice", 30);

此处,**{0}和{1}**是数字占位符,值按传递给string.Format方法的参数顺序提供。

C#在string.Format方法中不支持如数字索引所示的命名占位符。 如果需要命名占位符,应使用字符串插值或由外部库提供的其他方法。 这里是一个字符串插值表达式的例子:

字符串插值表达式

在C# 6.0中引入,字符串插值允许开发人员在字符串文字中直接使用表达式,使代码更加可读,并减少重新排序参数时产生错误的风险。

// String interpolation example demonstrating direct variable use
var name = "Alice";
var age = 30;
string formattedNamed = $"Hello, {name}! Your age is {age}.";

在此示例中,**{name}和{age}**在字符串中直接进行求值,值由相应变量提供。

对齐和间距

String.Format提供了对格式化值的对齐和间距的精确控制。 通过在格式项中添加对齐和宽度规格,开发人员可以创建整齐对齐的输出。 在C#中使用String.Format控制间距涉及指定插入字符串的宽度,从而精确控制前导或尾随空格。 例如,考虑在销售报告中对齐产品名称和价格:

// Using String.Format for aligning product names and prices
string[] products = { "Laptop", "Printer", "Headphones" };
decimal[] prices = { 1200.50m, 349.99m, 99.95m };

Console.WriteLine(String.Format("{0,-15} {1,-10}\n", "Product", "Price"));

for (int index = 0; index < products.Length; index++)
{
    string formattedProduct = String.Format("{0,-15} {1,-10:C}", products[index], prices[index]);
    Console.WriteLine(formattedProduct);
}

在这个例子中,**{0,-15}和{1,-10}**格式控制"产品"和"价格"标签的宽度,确保左对齐并允许前导或尾随空格。 然后循环填充产品名称和价格的表格,创建一个对间距有精确控制的整齐格式化的销售报告。 调整这些宽度参数可有效管理显示数据的对齐和间距。

使用三元运算符的条件格式化

在String.Format中利用三元运算符可根据特定条件进行条件格式化。 例如:

// Using ternary operator for conditional formatting
int temperature = 25;
string weatherForecast = string.Format("The weather is {0}.", temperature > 20 ? "warm" : "cool");

此处,天气描述基于温度更改。

组合格式

要细化C#中对象的显示,请结合使用格式字符串(也称为"组合格式字符串")来控制字符串表示。 例如,使用{0:d}表示法将"d"格式说明符应用于列表中的第一个对象。在格式化字符串或组合格式化功能的上下文中,这些格式说明符引导各种类型(包括数字、小数点、日期和时间以及自定义类型)的呈现。

这是一个使用单个对象和两个格式项的示例,结合组合格式字符串和字符串插值:

// Combining composite format strings and string interpolation
string formattedDateTime = $"It is now {DateTime.Now:d} at {DateTime.Now:t}";
Console.WriteLine(formattedDateTime); // Output similar to: 'It is now 4/10/2015 at 10:04 AM'

在这种方法中,可以调整对象的字符串表示以适应特定格式,从而实现更受控和视觉上更吸引人的输出。 插值字符串直接包含变量,提供更简洁的语法。

IronPDF 简介

IronPDF网页

IronPDF是一个C#库,便于使用HTML创建PDF文档、从PDF文件中提取文本以及PDF的修订和历史管理。 它为开发人员提供了一整套工具,以便在其C#应用程序中生成、修改和呈现PDF文件。 使用IronPDF,开发人员可以创建适合其特定需求的复杂且美观的PDF文档。

安装 IronPDF:快速入门

要开始在C#项目中利用IronPDF库,您可以轻松安装IronPDF NuGet包。 在您的包管理器控制台中使用以下命令:

# Install the IronPdf NuGet package
Install-Package IronPdf
SHELL

或者,您可以在NuGet包管理器中搜索"IronPDF"并从那里安装。

C# String.Format的多功能性

C#的String.Format方法以其在制作格式化字符串中的多功能性而闻名。 它允许开发人员在格式字符串中定义占位符,并用相应值替换它们,从而对字符串输出提供精确的控制。 格式化数值、日期/时间信息和对齐文本的能力使String.Format成为创建清晰和结构化文本内容不可或缺的工具。

String.Format与IronPDF的集成

当谈到将String.Format与IronPDF集成时,答案是肯定的。 String.Format提供的格式化功能可用于动态生成内容,然后将其纳入到PDF文档中,使用IronPDF的功能。

让我们考虑一个简单的例子:

using IronPdf;

// Class to generate PDF with formatted content
class PdfGenerator
{
    // Method to generate a PDF for a customer's invoice
    public static void GeneratePdf(string customerName, decimal totalAmount)
    {
        // Format the content dynamically using String.Format
        string formattedContent = string.Format("Thank you, {0}, for your purchase! Your total amount is: {1:C}.", customerName, totalAmount);

        // Create a new PDF document using IronPDF
        var pdfDocument = new ChromePdfRenderer();

        // Add the dynamically formatted content to the PDF and save it
        pdfDocument.RenderHtmlAsPdf(formattedContent).SaveAs("Invoice.pdf");
    }
}

public class Program
{
    // Main method to execute PDF generation
    public static void Main(string[] args)
    {
        PdfGenerator.GeneratePdf("John Doe", 1204.23m);
    }
}

在这个例子中,String.Format方法用于动态生成客户发票的个性化消息。格式化的内容然后使用IronPDF的ChromePdfRenderer功能合并到PDF文档中。

之前代码示例生成的PDF

有关使用HTML字符串表示创建PDF的更多详细信息,请参阅IronPDF文档页面。

结论

总而言之,String.Format在C#编程中是一个坚定不移的工具,为开发人员提供了制作格式化字符串的坚实机制。 无论是处理数值、日期/时间信息,还是定制模式,String.Format都提供了一种多功能且高效的解决方案。 在C#开发的广阔领域中,掌握使用String.Format进行字符串格式化的艺术,将无疑提升你的能力,使其能够在应用程序中创建清晰、动态和视觉上吸引人的输出。

开发人员可以利用String.Format的强大格式功能动态制作内容,然后可以无缝集成到PDF文档中,使用IronPDF。 这种协作方法使开发人员能够生成高度定制和视觉上吸引人的PDF,为他们的文档生成能力增添了一层复杂性。

IronPDF提供了一次性试用IronPDF的全部功能,以便像商业模式一样测试其完整的功能。 然而,一旦超过试用期,你将需要一个IronPDF的许可证。

Jacob Mellor,Team Iron 的首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥。

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999 起