跳至页脚内容
.NET 帮助

C# 字符串插值(开发者如何使用)

什么是字符串插值?

程序员可以使用字符串插值来创建字符串,这涉及到立即计算和插入表达式或变量到常量字符串对象文本中。 带有占位符的逐字字符串可以使用插值字符串创建,这些占位符被指定的表达式或变量的值替换。

与字符串连接或使用格式字符串说明符等更传统的方法相比,插值字符串表示使得在支持该功能的多种编程语言中,动态数据与文本的组合变得更简单,使代码更易读简洁。在本文中,我们将了解C#中C#字符串插值特性表达式结果。

以下是字符串插值功能的结果:

  1. 占位符语法:字符串插值使用特定语法将表达式或变量插入结果字符串。 通常,特殊符号或字符(例如{}, $(), {{}}等)将字符串插值的占位符括起来。
  2. 表达式的评估:在运行时,包含在占位符中的变量或表达式被评估,其结果立即放入原始字符串中。
  3. 更好的可读性:通过允许开发者直接将值放入字符串中,而无需显式转换或连接值,代码的可读性得以提高。

如何使用字符串插值

  1. 创建一个新的 C# 项目。
  2. 确保已安装所需的C#版本。
  3. 使用符号或字符创建字符串插值。
  4. 根据需要使用插值字符串。
  5. 运行代码。

C#中的字符串插值

C#中的字符串插值允许开发者将表达式或变量直接嵌入到字符串文本中。 它通过提供简洁和可读的语法简化了构建多行字符串的过程。 如果我们直接使用字符串插值,编译器将把string.Format方法置于适当位置。

文本字符串插值结构的组成部分:

  • $符号表示字符串文本是插值的,并位于插值字符串之前。 它将普通字符串文本与插值字符串区分开来。
  • 带占位符的字符串文本:大括号{}将字符串文本中用于插值的表达式或变量的占位符括起来。 这些占位符显示了将输入表达式或变量值的位置。
  • 占位符内的表达式或变量:在最终的插值字符串中,占位符将被被括在大括号内的表达式或变量的值替换。
  • 最终的插值字符串:这是插值后剩下的字符串,其中占位符已被变量或表达式的评估值替换。

插值C#的结构

在字符串文本的开头添加$符号表示它是插值字符串。 空格不能出现在$和引号之间的字符串文本的开头。

{<interpolationExpression>[,<alignment>][:<formatString>]} //constant expression
{<interpolationExpression>[,<alignment>][:<formatString>]} //constant expression
If True Then
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'	<interpolationExpression>[,<alignment>][:<formatString>]} 'constant expression
$vbLabelText   $csharpLabel

带有逐字和原始字符串的字符串插值

使用几个$字符开始插值原始字符串文本以在返回字符串中包含{}字符。 当你这样做时,任何小于$字符总数的{}字符序列都被插入到输出字符串中。 在该字符串中封装任何插值表达式时,使用的大括号数量必须与$字符数量匹配。 如下例子所示:

int x = 25;
Console.WriteLine($"square of {x} is {Math.Sqrt(x)}"); // Interpolated string output
int x = 25;
Console.WriteLine($"square of {x} is {Math.Sqrt(x)}"); // Interpolated string output
Dim x As Integer = 25
Console.WriteLine($"square of {x} is {Math.Sqrt(x)}") ' Interpolated string output
$vbLabelText   $csharpLabel

输出:

C#字符串插值(它如何为开发者工作):图1 - 使用字符串插值方法的字符串消息输出

IronPDF的字符串插值功能

IronPDF的一个亮点是其HTML到PDF转换功能,保留了所有布局和样式。 它将网页内容转换为PDF,非常适合报告、发票和文档。 您可以轻松将 HTML 文件、URL 和 HTML 字符串转换为 PDF。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

安装IronPDF

获取IronPDF库以实现无缝的PDF生成,因为它是下一个修复所必需的。 为此,在包管理器中输入以下代码:

Install-Package IronPdf

C#字符串插值(它如何为开发者工作):图2 - 安装IronPDF

或者,您可以使用 NuGet 包管理器搜索包 "IronPDF"。 我们可以从IronPDF相关的所有NuGet包列表中选择并下载所需的包。

C#字符串插值(它如何为开发者工作):图3 - IronPDF包

使用IronPDF的字符串插值

示例代码显示了我们如何使用字符串插值方法和插值表达式创建PDF。 对于单个插值表达式,可以组合对齐说明符和格式字符串。

using IronPdf;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string [] args)
        {
            int x = 25;
            // Define the interpolated string
            var outputstr = $@"square of <b>{x}</b> is <b>{Math.Sqrt(x)}</b>";
            // Create a PDF using IronPDF
            var pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr);
            // Save the PDF as a file
            pdfcreate.SaveAs("demo.pdf");
        }
    }
}
using IronPdf;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string [] args)
        {
            int x = 25;
            // Define the interpolated string
            var outputstr = $@"square of <b>{x}</b> is <b>{Math.Sqrt(x)}</b>";
            // Create a PDF using IronPDF
            var pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr);
            // Save the PDF as a file
            pdfcreate.SaveAs("demo.pdf");
        }
    }
}
Imports IronPdf

Namespace ConsoleApp1
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim x As Integer = 25
			' Define the interpolated string
			Dim outputstr = $"square of <b>{x}</b> is <b>{Math.Sqrt(x)}</b>"
			' Create a PDF using IronPDF
			Dim pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr)
			' Save the PDF as a file
			pdfcreate.SaveAs("demo.pdf")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

在上面的代码中,给定的字符串插值帮助我们将字符串表示形式转换为所需的输出字符串名称。 我们还使用多个字符串插值为单个字符串。 并在IronPDF的帮助下,我们正在为格式化字符串创建PDF。 同样,我们可以通过IronPDF帮助将任意数量的PDF字符串表示转换为PDF。 我们还可以使用string.Format方法格式化字符串。

结果:

C#字符串插值(它如何为开发者工作):图4 - 输出

要了解更多关于IronPDF的信息,请参阅IronPDF文档

结论

总而言之,C#的字符串插值是一个强大且有效的功能,使得通过允许直接嵌入表达式来更容易地创建字符串。 与传统的字符串连接或格式化技术相比,它提供了一种更易于阅读和理解的语法,使用开始和结束大括号。

IronPDF在$799 Lite捆绑中提供永久许可证、升级选项、一年的软件维护和30天退款保证。 用户可以在带水印的试用期内,在实际应用环境中评估该产品三十天。 请访问提供的IronPDF定价和许可页面,了解有关IronPDF费用、许可和试用版的更多信息。 要了解更多关于不同的Iron Software产品和库,请查看他们的网站。

常见问题解答

什么是C#中的字符串插值?

C#中的字符串插值允许开发人员直接将表达式或变量嵌入到字符串字面量中,通过提供简洁且可读的语法简化字符串构建过程。

如何使用字符串插值在C#中创建PDF?

您可以使用字符串插值将数据动态嵌入到HTML内容中,然后使用IronPDF的渲染方法转换为PDF。

字符串插值可以用于格式化HTML内容以生成PDF吗?

是的,字符串插值可以用来动态格式化含有表达式或变量的HTML内容,然后使用诸如IronPDF之类的工具渲染为PDF。

C#中用于字符串插值的语法是什么?

C#中字符串插值的语法是在字符串字面量前加上一个'$'符号,并使用大括号'{}'包含表达式或变量。

IronPDF如何与字符串插值集成?

IronPDF可以将HTML内容渲染为PDF文档,允许开发人员在将其转换为PDF之前,使用字符串插值动态插入数据到HTML中。

使用字符串插值相比传统的字符串格式化方法有哪些好处?

字符串插值相比于字符串连接和格式说明符提供了更好的可读性和简洁性,使代码更易于理解和维护。

如何使用IronPDF将HTML字符串转换为PDF文档?

IronPDF可以使用诸如RenderHtmlAsPdf的方法将HTML字符串转换为PDF文档,该方法将HTML内容作为输入并输出格式化的PDF。

'$'符号在字符串插值中的作用是什么?

'$'符号用于指示字符串是一个插值字符串,允许大括号'{}'中的表达式进行计算并包含在输出中。

如何在C#的字符串插值中格式化表达式?

在字符串插值中的表达式可以使用大括号内的对齐和格式说明符进行格式化,允许自定义输出格式。

字符串插值如何改善PDF内容生成?

字符串插值允许在将其转换为PDF之前在HTML中动态嵌入内容,提高创建个性化和格式化文档的效率。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。