在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
C# 编程非常灵活,提供了大量数据结构,可有效管理各种工作。其 哈希集合 就是这样一种强大的数据结构,它为基本操作提供了独特的组件和恒定时间平均复杂度。本篇文章将探讨 HashSet 在 C# 中的使用,以及如何将其与 IronPDF是一个功能强大的用于处理 PDF 文档的库。
1.创建一个新的控制台应用程序项目。
2.用 C# 创建一个 HashSet 对象。向 HashSet 添加默认值。
3.添加时,HashSet 会通过检查元素是否存在自动删除重复元素。
4.只逐个处理 HashSet 中的唯一元素。
5.显示结果并处理对象。
C# 中的 HashSet 旨在提供高性能的集合操作。当您需要保存一组不同的数据时,哈希集合是一个完美的集合,因为它可以防止元素重复。它包含在 System.Assortments.Hash 表中,是 C# 通用命名空间的基础,可提供快速插入、删除、快速检索和查找操作。我们还可以在 HashSet 元素中找到合适的子集。在 C# 中,使用 HashSet 集合操作方法,可以轻松执行标准的集合操作。HashSet 类提供了集合操作方法。
下面是 HashSet 在 C# 中的几种用法:
建立哈希集合并执行基本操作,如追加、删除和验证条目的存在。
// set operations
HashSet<int> numbers = new HashSet<int>();
// Add elements
numbers.Add(1);
numbers.Add(2);
numbers.Add(3);
// Remove an element, predicate function
numbers.Remove(2);
// Check for membership or duplicate element
bool containsThree = numbers.Contains(3);
// set operations
HashSet<int> numbers = new HashSet<int>();
// Add elements
numbers.Add(1);
numbers.Add(2);
numbers.Add(3);
// Remove an element, predicate function
numbers.Remove(2);
// Check for membership or duplicate element
bool containsThree = numbers.Contains(3);
' set operations
Dim numbers As New HashSet(Of Integer)()
' Add elements
numbers.Add(1)
numbers.Add(2)
numbers.Add(3)
' Remove an element, predicate function
numbers.Remove(2)
' Check for membership or duplicate element
Dim containsThree As Boolean = numbers.Contains(3)
使用现有集合作为 HashSet 的起点,可以立即消除重复。
List<int> duplicateNumbers = new List<int> { 1, 2, 2, 3, 3, 4 }; // all the elements
HashSet<int> uniqueNumbers = new HashSet<int>(duplicateNumbers);
List<int> duplicateNumbers = new List<int> { 1, 2, 2, 3, 3, 4 }; // all the elements
HashSet<int> uniqueNumbers = new HashSet<int>(duplicateNumbers);
Dim duplicateNumbers As New List(Of Integer) From {1, 2, 2, 3, 3, 4} ' all the elements
Dim uniqueNumbers As New HashSet(Of Integer)(duplicateNumbers)
使用 UnionWith 函数合并两个 HashSet 实例,生成一个新的集合,该集合结合了两个集合中的不同项。
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.UnionWith(set2); // set1 now contains { 1, 2, 3, 4, 5 }
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.UnionWith(set2); // set1 now contains { 1, 2, 3, 4, 5 }
Dim set1 As New HashSet(Of Integer) From {1, 2, 3}
Dim set2 As New HashSet(Of Integer) From {3, 4, 5}
set1.UnionWith(set2) ' set1 now contains { 1, 2, 3, 4, 5 }
使用 IntersectWith 函数,确定两个 HashSet 实例之间的共享组件。
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.IntersectWith(set2); // set1 now contains { 3 }
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.IntersectWith(set2); // set1 now contains { 3 }
Dim set1 As New HashSet(Of Integer) From {1, 2, 3}
Dim set2 As New HashSet(Of Integer) From {3, 4, 5}
set1.IntersectWith(set2) ' set1 now contains { 3 }
使用 ExceptWith 函数,查找在一个 HashSet 中但不在另一个 HashSet 中的元素。
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.ExceptWith(set2); // set1 now contains { 1, 2 }
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.ExceptWith(set2); // set1 now contains { 1, 2 }
Dim set1 As New HashSet(Of Integer) From {1, 2, 3}
Dim set2 As New HashSet(Of Integer) From {3, 4, 5}
set1.ExceptWith(set2) ' set1 now contains { 1, 2 }
检查子集或超集:
使用 IsSubsetOf 和 IsSupersetOf 方法,可以确定给定的 HashSet 实例是另一个实例的子集还是超集。
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 2, 3 };
bool isSubset = set2.IsSubsetOf(set1); // returns true
bool isSuperset = set1.IsSupersetOf(set2); // returns true
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 2, 3 };
bool isSubset = set2.IsSubsetOf(set1); // returns true
bool isSuperset = set1.IsSupersetOf(set2); // returns true
Dim set1 As New HashSet(Of Integer) From {1, 2, 3}
Dim set2 As New HashSet(Of Integer) From {2, 3}
Dim isSubset As Boolean = set2.IsSubsetOf(set1) ' returns true
Dim isSuperset As Boolean = set1.IsSupersetOf(set2) ' returns true
使用 SymmetricExceptWith 技术确定对称差值 (元素在一组中存在,但在两组中都不存在).
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.SymmetricExceptWith(set2); // set1 now contains { 1, 2, 4, 5 }
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.SymmetricExceptWith(set2); // set1 now contains { 1, 2, 4, 5 }
Dim set1 As New HashSet(Of Integer) From {1, 2, 3}
Dim set2 As New HashSet(Of Integer) From {3, 4, 5}
set1.SymmetricExceptWith(set2) ' set1 now contains { 1, 2, 4, 5 }
程序员可以使用 C# 语言制作、编辑和修改 PDF 文档。 IronPDF .NET PDF 库。该应用程序提供多种工具和功能,可对 PDF 文件进行不同的操作,包括从 HTML 创建新的 PDF、将 HTML 转换为 PDF、合并或分割 PDF 文档,以及用文本、照片和其他数据对现有 PDF 进行注释。要了解有关 IronPDF 的更多信息,请参阅此页 文献资料.
获取 IronPDF 库;即将发布的补丁需要它。为此,请在软件包管理器中输入以下代码:
Install-Package IronPDF
//or
dotnet add package IronPdf
另一种方法是使用 NuGet 软件包管理器查找软件包 "IronPDF"。我们可以从与 IronPDF 相关的所有 NuGet 软件包列表中选择并下载所需的软件包。
在 C# 环境中,IronPDF 是一个功能强大的库,它能让 PDF 文档的处理变得更简单。在对独特的数据表示和有效的文档创建至关重要的情况下,将 HashSet 的效率与 IronPDF 的文档操作能力相结合,可能会产生创造性的解决方案。
现在,让我们来看看在现实世界中使用 HashSet 和 IronPDF 可能会非常有用的场景。
using IronPdf;
using System;
using System.Collections.Generic;
using System.IO;
class PdfGenerator
{
static void Main()
{
// Sample user names
string [] userNames = { "Alice", "Bob", "Charlie", "Bob", "David", "Alice" };
// Using HashSet to store unique user names
HashSet<string> uniqueUserNames = new HashSet<string>(userNames);
// Generating PDF with unique user names
GeneratePdf(uniqueUserNames);
}
static void GeneratePdf(HashSet<string> uniqueUserNames)
{
// Create a new PDF document using IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf(BuildHtmlDocument(uniqueUserNames));
// Save the PDF to a file
string pdfFilePath = "UniqueUserNames.pdf";
pdf.SaveAs(pdfFilePath);
// Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
}
static string BuildHtmlDocument(HashSet<string> uniqueUserNames)
{
// Build an HTML document with unique user names
string htmlDocument = "<html><body><ul>";
foreach (var userName in uniqueUserNames)
{
htmlDocument += $"<li>{userName}</li>";
}
htmlDocument += "</ul></body></html>";
return htmlDocument;
}
}
using IronPdf;
using System;
using System.Collections.Generic;
using System.IO;
class PdfGenerator
{
static void Main()
{
// Sample user names
string [] userNames = { "Alice", "Bob", "Charlie", "Bob", "David", "Alice" };
// Using HashSet to store unique user names
HashSet<string> uniqueUserNames = new HashSet<string>(userNames);
// Generating PDF with unique user names
GeneratePdf(uniqueUserNames);
}
static void GeneratePdf(HashSet<string> uniqueUserNames)
{
// Create a new PDF document using IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf(BuildHtmlDocument(uniqueUserNames));
// Save the PDF to a file
string pdfFilePath = "UniqueUserNames.pdf";
pdf.SaveAs(pdfFilePath);
// Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
}
static string BuildHtmlDocument(HashSet<string> uniqueUserNames)
{
// Build an HTML document with unique user names
string htmlDocument = "<html><body><ul>";
foreach (var userName in uniqueUserNames)
{
htmlDocument += $"<li>{userName}</li>";
}
htmlDocument += "</ul></body></html>";
return htmlDocument;
}
}
Imports IronPdf
Imports System
Imports System.Collections.Generic
Imports System.IO
Friend Class PdfGenerator
Shared Sub Main()
' Sample user names
Dim userNames() As String = { "Alice", "Bob", "Charlie", "Bob", "David", "Alice" }
' Using HashSet to store unique user names
Dim uniqueUserNames As New HashSet(Of String)(userNames)
' Generating PDF with unique user names
GeneratePdf(uniqueUserNames)
End Sub
Private Shared Sub GeneratePdf(ByVal uniqueUserNames As HashSet(Of String))
' Create a new PDF document using IronPDF
Dim renderer As New IronPdf.HtmlToPdf()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(BuildHtmlDocument(uniqueUserNames))
' Save the PDF to a file
Dim pdfFilePath As String = "UniqueUserNames.pdf"
pdf.SaveAs(pdfFilePath)
' Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}")
End Sub
Private Shared Function BuildHtmlDocument(ByVal uniqueUserNames As HashSet(Of String)) As String
' Build an HTML document with unique user names
Dim htmlDocument As String = "<html><body><ul>"
For Each userName In uniqueUserNames
htmlDocument &= $"<li>{userName}</li>"
Next userName
htmlDocument &= "</ul></body></html>"
Return htmlDocument
End Function
End Class
在上述代码示例中,我们使用 HashSet uniqueUserNames 保存从数组中获取的唯一用户名。哈希集会自动消除重复。接下来,我们使用 IronPDF 在 PDF 文档中创建这些唯一用户名的无序列表。要了解更多代码信息,请查看 这里.
总而言之,C# HashSet 数据结构是组织不同项目集的有效工具。当与 IronPDF 搭配使用时,它为动态、独一无二和性能优化的 PDF 文档创建创造了新的机会。
我们展示了如何使用 HashSet 来保证数据的唯一性,同时使用 IronPDF 的例子中创建 PDF 文档。无论是重复数据删除、报告还是管理动态内容,构建强大而有效的 C# 应用程序都可以从 HashSet 和 IronPDF 的组合中受益。在您进行更多研究时,请考虑到您可能会在许多情况下利用这种组合来提高应用程序的可用性和功能。
$749 Lite 版本的 IronPDF 附带永久许可证、升级选项和一年的软件支持。整个水印 试用期 了解有关 IronPDF 价格、许可和免费试用的更多信息。请访问 页码 了解有关 Iron 软件的更多信息。