.NET 帮助

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)}"); //string output
int x = 25;
Console.WriteLine($"square of {x} is {Math.Sqrt(x)}"); //string output
Dim x As Integer = 25
Console.WriteLine($"square of {x} is {Math.Sqrt(x)}") '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;
            //interpolated string starts
            var outputstr = $@"square of <b>{x}</b> is <b>{Math.Sqrt(x)}</b>";
            var pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr);
            pdfcreate.SaveAs("demo.pdf");
        }
    }
}
using IronPdf;
namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string [] args)
        {
            int x = 25;
            //interpolated string starts
            var outputstr = $@"square of <b>{x}</b> is <b>{Math.Sqrt(x)}</b>";
            var pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr);
            pdfcreate.SaveAs("demo.pdf");
        }
    }
}
Imports IronPdf
Namespace ConsoleApp1
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim x As Integer = 25
			'interpolated string starts
			Dim outputstr = $"square of <b>{x}</b> is <b>{Math.Sqrt(x)}</b>"
			Dim pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr)
			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在$749 Lite套餐中提供永久许可证、升级选项、一年的软件维护和30天的退款保证。 在带水印的试用期内,用户可以在实际应用设置中对产品进行为期三十天的评估。 请访问提供的IronPDF定价和许可页面,以了解有关IronPDF的费用、许可以及试用版本的更多信息。 要了解更多关于各种Iron Software 产品和库的信息,请查看他们的网站。

Chipego
软件工程师
Chipego 拥有出色的倾听技巧,这帮助他理解客户问题并提供智能解决方案。他在 2023 年加入 Iron Software 团队,此前他获得了信息技术学士学位。IronPDF 和 IronOCR 是 Chipego 主要专注的两个产品,但他对所有产品的了解每天都在增长,因为他不断找到支持客户的新方法。他喜欢 Iron Software 的合作氛围,公司各地的团队成员贡献他们丰富的经验,以提供有效的创新解决方案。当 Chipego 离开办公桌时,你经常可以发现他在看书或踢足球。
< 前一页
C# Writeline(开发人员如何使用)
下一步 >
BouncyCastle C#(开发人员如何使用)