.NET 帮助 C# String Equals(开发者用法) Curtis Chau 已更新:九月 4, 2025 Download IronPDF NuGet 下载 DLL 下载 Windows 安装程序 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 在 C# 应用程序中处理 PDF 文档时,比较字符串是一个非常常见的任务,无论是检查提取的文本、验证元数据,还是有条件地修改文档。 string.Equals 方法在 C# 中提供了一种精确的方式来比较字符串对象,并且当与 IronPDF 结合使用时,它成为您 PDF 自动化工具包中的强大工具。 在本文中,我们将探讨什么是 string.Equals,它在 .NET 中的重要性,以及如何有效地将其与 IronPDF 结合使用,这是用于生成和操作的领先 .NET PDF 库。 什么是 C# 中的 string.Equals? C 字符串等于方法,在 C# 中称为 string.Equals,用于比较两个参数的内容,这些参数可以是字符串或其他兼容对象。 您可以传递普通的字符串值,也可以是将在比较过程中转换为字符串的类型对象。 与 == 操作符不同的是,它是 equals string 的语法糖,显式地使用 string.Equals 允许您做到: 指定比较规则(例如区分大小写的比较或不区分文化的比较)。 避免与重载操作符混淆。 提高条件逻辑的可读性。 .NET Framework中的方法签名通常如下所示: public bool Equals(string value, StringComparison comparisonType) public bool Equals(string value, StringComparison comparisonType) 'INSTANT VB TODO TASK: The following line uses invalid syntax: 'public bool Equals(string value, StringComparison comparisonType) $vbLabelText $csharpLabel 这里,public bool 表示返回值将始终为 true 或 false,这取决于比较结果。 基本语法 string.Equals(str1, str2) string.Equals(str1, str2, StringComparison.OrdinalIgnoreCase) string.Equals(str1, str2) string.Equals(str1, str2, StringComparison.OrdinalIgnoreCase) 'INSTANT VB TODO TASK: The following line uses invalid syntax: 'string.Equals(str1, str2) string.Equals(str1, str2, StringComparison.OrdinalIgnoreCase) $vbLabelText $csharpLabel 此方法接受两个参数:要比较的两个字符串或字符串对象,选择性地还有要执行的比较类型。 返回值是一个布尔值。 如果两个参数根据比较规则相等,则方法将返回 true,否则返回 false。 您可以使用不同的 StringComparison 选项来比较两个字符串,例如: Ordinal(二进制比较,区分大小写比较) OrdinalIgnoreCase(不区分大小写的比较) CurrentCulture InvariantCultureIgnoreCase 它如何与 IronPDF 协作 IronPDF 是一个强大的 .NET PDF 库,允许您搜索、提取和操作 PDF 文档中的文本。 通过使用 string.Equals,您可以: 将提取的字符串值与已知值进行比较。 检查元数据字段,如标题、作者和关键字。 有条件地 编辑您的 PDF 文档,允许您根据字符串比较结果添加注释、突出显示或水印。 让我们通过以下示例来说明 string.Equals 在 IronPDF 工作流程中如何证明其有用。 示例 1:使用 string.Equals 比较提取的文本 想象一下,您正在扫描 PDF 发票,并希望验证它是否包含特定公司名称。 以下示例演示了如何避免常见陷阱,如空引用异常以及方法如何稳健地检查相等性。 以下示例将使用此 PDF: using IronPdf; using IronPdf.Editing; class Program { public static void Main(string[] args) { var pdf = new IronPdf.PdfDocument("invoice.pdf"); string extractedText = pdf.ExtractAllText(); var lines = extractedText.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (var line in lines) { if (string.Equals(line.Trim(), "Acme Corporation", StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("Exact match found: Acme Corporation"); } } } } using IronPdf; using IronPdf.Editing; class Program { public static void Main(string[] args) { var pdf = new IronPdf.PdfDocument("invoice.pdf"); string extractedText = pdf.ExtractAllText(); var lines = extractedText.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (var line in lines) { if (string.Equals(line.Trim(), "Acme Corporation", StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("Exact match found: Acme Corporation"); } } } } Imports Microsoft.VisualBasic Imports IronPdf Imports IronPdf.Editing Friend Class Program Public Shared Sub Main(ByVal args() As String) Dim pdf = New IronPdf.PdfDocument("invoice.pdf") Dim extractedText As String = pdf.ExtractAllText() Dim lines = extractedText.Split( { ControlChars.Cr, ControlChars.Lf }, StringSplitOptions.RemoveEmptyEntries) For Each line In lines If String.Equals(line.Trim(), "Acme Corporation", StringComparison.OrdinalIgnoreCase) Then Console.WriteLine("Exact match found: Acme Corporation") End If Next line End Sub End Class $vbLabelText $csharpLabel 注意:该方法返回一个布尔值,指示两个字符串对象是否包含相同的值。 为何重要: 正如我们在以下输出中所见,使用 string.Equals 与 StringComparison.OrdinalIgnoreCase 确保 “ACME CORPORATION” 和 “Acme Corporation” 被视为相等,这在OCR或文本提取场景中是必不可少的,因为区分大小写的差异可能导致不同的行为。 输出 示例 2:使用 string.Equals 验证 PDF 元数据 PDF 文件通常包含 元数据 字段,如标题、作者和主题。 IronPDF 能够用于读取这些属性,使得检查和比较变得容易。 using IronPdf; var pdf = new IronPdf.PdfDocument("invoice.pdf"); string author = pdf.MetaData.Author; if (string.Equals(author, "Iron Software", StringComparison.InvariantCulture)) { Console.WriteLine("Invoice was issued by Iron Software."); } using IronPdf; var pdf = new IronPdf.PdfDocument("invoice.pdf"); string author = pdf.MetaData.Author; if (string.Equals(author, "Iron Software", StringComparison.InvariantCulture)) { Console.WriteLine("Invoice was issued by Iron Software."); } Imports IronPdf Private pdf = New IronPdf.PdfDocument("invoice.pdf") Private author As String = pdf.MetaData.Author If String.Equals(author, "Iron Software", StringComparison.InvariantCulture) Then Console.WriteLine("Invoice was issued by Iron Software.") End If $vbLabelText $csharpLabel 在基于元数据进行验证以防止处理不是字符串或无效文件的系统中,这个方法尤其有用。 输出 示例 3:基于文本匹配添加水印 您可能希望自动为包含特定关键字的 PDF 文档添加水印。 以下是实现方式: using IronPdf; using IronPdf.Editing; License.LicenseKey = "IRONSUITE.WRITERS.21046-907F5E67CC-AHYQW6L-RCHLPMRJMU4G-SET72XAF2JNY-LQK45E5JPLGW-XOLPVBEBLHV7-2LHKZRWUZWMO-5LNIZSPF4BM6-UHUH4R-T4MMJ4MEIYSQEA-DEPLOYMENT.TRIAL-LDG2MK.TRIAL.EXPIRES.16.NOV.2025"; var pdf = new IronPdf.PdfDocument("invoice.pdf"); string content = pdf.ExtractAllText(); var lines = content.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (var line in lines) { if (string.Equals(line.Trim(), "DRAFT", StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("The document is a draft."); // Corrected HTML and CSS string watermark = @"<div style='color:red; font-size:72px; font-weight:bold;'>DRAFT</div>"; pdf.ApplyWatermark(watermark, rotation: 45, opacity: 70, verticalAlignment: VerticalAlignment.Middle, horizontalAlignment: HorizontalAlignment.Center); pdf.SaveAs("watermarked_invoice.pdf"); } } using IronPdf; using IronPdf.Editing; License.LicenseKey = "IRONSUITE.WRITERS.21046-907F5E67CC-AHYQW6L-RCHLPMRJMU4G-SET72XAF2JNY-LQK45E5JPLGW-XOLPVBEBLHV7-2LHKZRWUZWMO-5LNIZSPF4BM6-UHUH4R-T4MMJ4MEIYSQEA-DEPLOYMENT.TRIAL-LDG2MK.TRIAL.EXPIRES.16.NOV.2025"; var pdf = new IronPdf.PdfDocument("invoice.pdf"); string content = pdf.ExtractAllText(); var lines = content.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (var line in lines) { if (string.Equals(line.Trim(), "DRAFT", StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("The document is a draft."); // Corrected HTML and CSS string watermark = @"<div style='color:red; font-size:72px; font-weight:bold;'>DRAFT</div>"; pdf.ApplyWatermark(watermark, rotation: 45, opacity: 70, verticalAlignment: VerticalAlignment.Middle, horizontalAlignment: HorizontalAlignment.Center); pdf.SaveAs("watermarked_invoice.pdf"); } } Imports Microsoft.VisualBasic Imports IronPdf Imports IronPdf.Editing License.LicenseKey = "IRONSUITE.WRITERS.21046-907F5E67CC-AHYQW6L-RCHLPMRJMU4G-SET72XAF2JNY-LQK45E5JPLGW-XOLPVBEBLHV7-2LHKZRWUZWMO-5LNIZSPF4BM6-UHUH4R-T4MMJ4MEIYSQEA-DEPLOYMENT.TRIAL-LDG2MK.TRIAL.EXPIRES.16.NOV.2025" Dim pdf = New IronPdf.PdfDocument("invoice.pdf") Dim content As String = pdf.ExtractAllText() Dim lines = content.Split( { ControlChars.Cr, ControlChars.Lf }, StringSplitOptions.RemoveEmptyEntries) For Each line In lines If String.Equals(line.Trim(), "DRAFT", StringComparison.OrdinalIgnoreCase) Then Console.WriteLine("The document is a draft.") ' Corrected HTML and CSS Dim watermark As String = "<div style='color:red; font-size:72px; font-weight:bold;'>DRAFT</div>" pdf.ApplyWatermark(watermark, rotation:= 45, opacity:= 70, verticalAlignment:= VerticalAlignment.Middle, horizontalAlignment:= HorizontalAlignment.Center) pdf.SaveAs("watermarked_invoice.pdf") End If Next line $vbLabelText $csharpLabel 通过使用 string.Equals,我们能够检查输入 PDF 文档是否包含标记为草稿的文本,如果是,程序将对文档应用我们的 “DRAFT” 水印并保存。 输出 使用 string.Equals 与 IronPDF 的最佳实践 始终指定一个 StringComparison,以避免由于文化或大小写差异导致的错误。 比较用户输入或提取的文本时使用 Trim() 或 Normalize()。 对于大型文档,仅提取必要的页面或段落以减少开销。 将 string.Equals 与 Regex 或 Contains 相结合以实现混合字符串匹配策略。 为什么 IronPDF 让这一切变得简单 IronPDF 简化了开发者与 PDF 的互动方式。 结合 C# 的 string.Equals,它使您能够构建动态、智能的 PDF 工作流程,而无需样板文件或第三方工具。 IronPDF 的主要优点: 全文提取和解析。 轻松访问元数据。 使用原生 C# 逻辑进行有条件的操作。 无需外部依赖,例如 Adobe 或 MS Office。 深入探讨 StringComparison 选项 在 C# 中比较字符串时,StringComparison 选项的选择可以极大地影响比较的行为和性能。 以下是最常用选项的快速概述: Ordinal: 执行快速、逐字节比较,区分大小写且文化无关。在不考虑文化的情况下进行精确匹配时是最佳选择。 OrdinalIgnoreCase: 与上述相同,但忽略大小写差异。 适用于 PDF 文本提取等可能出现大小写不一致的场景。 CurrentCulture: 考虑代码运行环境的文化规则。 当比较面向用户的文本时有用,应遵循本地语言规范。 考虑当前文化,在本地化字符串比较中有用。 CurrentCultureIgnoreCase: 与上述相同,但忽略大小写。 InvariantCulture 和 InvariantCultureIgnoreCase: 在不同文化中提供一致的比较,这对于全球化应用中的字符串相等性至关重要。 选择正确的选项可确保字符串比较的行为可预测。 对于通过 IronPDF 提取的 PDF 文本,OrdinalIgnoreCase 通常是最佳选择,平衡了性能和可用性。 大 PDF 文档的性能考虑 高效处理大 PDF 是保持应用程序响应性的关键。 以下是一些提示: 从特定页面而不是整个文件中提取文本。 在多次处理相同文档时缓存提取的文本。 使用 string.Equals 进行精确的相等性检查和 Contains 进行子字符串匹配,尽可能避免昂贵的正则表达式操作。 利用异步处理或并行化来同时处理多个 PDF。 在比较前清理和规范化字符串(string str1, string str2),以避免由于不可见字符或格式化引起的错误不匹配。 实现这些技术有助于您的 PDF 工作流程顺利扩展,同时保持比较的准确性。 错误处理和调试技巧 为了避免运行时问题并确保可靠性: 防范空值,通过检查对象 obj 或字符串是否为空,防止空引用异常。 记录提取的内容,以验证方法在运行时返回的内容。 使用 Trim() 和标准化来处理尾随空格和特殊的 Unicode 字符。 包含围绕 PDF 加载和文本提取的异常处理。 编写单元测试,涵盖各种输入场景,包括区分大小写和不区分大小写的比较。 最后的想法 C# 的 string.Equals 是一个简单而强大的方法,在与 IronPDF 强大的 PDF 功能结合使用时变得更加有效。 无论您是在验证元数据、验证提取的文本,还是应用条件逻辑,这种组合都可以让您完全控制 .NET 中的 PDF 自动化工作流。 🔗 立即开始使用 IronPDF 准备好开始使用 C# 构建智能 PDF 工作流了吗? 下载 IronPDF NuGet 包,探索 .NET PDF 生成、编辑和提取的全部功能。 👉 通过免费试用试用 IronPDF。 常见问题解答 C# 中 string.Equals 方法的目的是什么? C# 中的 string.Equals 方法用于比较字符串对象的相等性。它提供了一种精确的方法来确定两个字符串是否具有相同的值,这对于验证 PDF 文档中的元数据或提取的文本等任务是必不可少的。 IronPDF 如何增强 string.Equals 在 C# 应用程序中的使用? IronPDF 能通过提供强大的 PDF 操作功能来增强 string.Equals 的使用,这包括从 PDF 文档中提取文本。这使开发人员能够利用 string.Equals 作为其 PDF 自动化任务的一部分来比较和验证提取的文本。 为什么字符串比较在 PDF 文档处理中很重要? 字符串比较在 PDF 文档处理中很重要,因为它使开发人员能够检查提取的文本、验证元数据,并基于特定的字符串值有条件地修改文档,从而确保数据的准确性和符合预期的内容。 IronPDF 可以处理 PDF 中的元数据验证吗? 是的,IronPDF 可以处理 PDF 中的元数据验证,允许开发人员提取元数据并使用类似 string.Equals 的方法来比较和验证元数据是否符合指定标准。 在何种常见任务中可能会将 string.Equals 与 IronPDF 一起使用? 在一些常见任务中可能会将 string.Equals 和 IronPDF 一起使用,包括检查提取的文本是否符合标准、验证 PDF 文档元数据、以及在进一步处理前确保文档中出现特定字符串。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已更新九月 4, 2025 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多 已更新八月 5, 2025 C# Switch 模式匹配(开发者用法) 与强大的 PDF 库 IronPDF 结合使用,切换模式匹配允许您为文档处理构建更智能、更简洁的逻辑。 阅读更多 已更新八月 5, 2025 C# 整数除法 (开发者用法) 如果您使用 / 运算符除以两个整数(int 类型),C# 会执行整数算术,通过舍弃小数部分来返回整数结果。 阅读更多 RandomNumberGenerator C#C# Switch 模式匹配(开发者...
已更新九月 4, 2025 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多