在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
在众多可用的编程语言中,C# 已成为开发人员的一种流行且适应性强的选择。 集合的概念是 C# 丰富的库和框架的核心,也是该语言的主要优势之一。 在 C# 中,集合对于有效存储和组织数据至关重要。 这些工具为开发人员提供了多种有效工具来解决具有挑战性的编程问题。 在本篇文章中,我们将进一步深入探讨集合,包括其功能、类型和最佳使用策略。
创建一个新的控制台应用程序项目。
用 C# 为集合创建一个对象。
将值添加到可存储多组对象的集合类中。
处理值操作,如添加、删除、排序等、
C# 中的集合是让程序员处理和存储对象类集的容器。 这些对象非常灵活,可适应多种编程环境,它们可能是相同的,也可能是不同的种类。 大多数集合类都是用 C# 实现 System 的组件,即导入命名空间,如System.Collections例如,System.Collections.Generic 和 System.Collections.Generic,提供了各种泛型和非泛型的集合类。 集合还允许动态内存分配、添加、搜索和排序集合类中的项目。
ArrayList、Hashtable 和 Queue 是 C# 中可用的几个非通用集合类,它们包含在 C# 语言的最初迭代中。 除了明确定义您希望保留和使用的各类内容外,这些合集还提供了另一种选择。 然而,开发人员经常选择泛型集合,因为它们具有卓越的性能和类型安全性。
C# 的后期迭代包含了泛型集合,以克服非泛型集合的缺点。 这些工具在编译过程中提供类型安全,让开发人员能够处理严密类型的数据。 通用集合类 列表
List 是一个动态数组,能方便快捷地插入和移除元素。
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Add(6); // adds element '6' to the end
numbers.Remove(3); // removes all the items that are '3'
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Add(6); // adds element '6' to the end
numbers.Remove(3); // removes all the items that are '3'
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
numbers.Add(6) ' adds element '6' to the end
numbers.Remove(3) ' removes all the items that are '3'
Dictionary<TKey, TValue> 类可以快速查找键值对集合。 在通过特殊键值快速访问数据至关重要的情况下,经常会用到该工具。 该键用于访问字典中的元素。
Dictionary<string, int> ageMap = new Dictionary<string, int>();
ageMap.Add("John", 25); // the string "John" is the key that can access the value 25
ageMap["Jane"] = 30; // setting the key "Jane" to hold the value 30
Dictionary<string, int> ageMap = new Dictionary<string, int>();
ageMap.Add("John", 25); // the string "John" is the key that can access the value 25
ageMap["Jane"] = 30; // setting the key "Jane" to hold the value 30
Dim ageMap As New Dictionary(Of String, Integer)()
ageMap.Add("John", 25) ' the string "John" is the key that can access the value 25
ageMap("Jane") = 30 ' setting the key "Jane" to hold the value 30
先进先出集(先进先出)和后进先出(后进先出) 分别通过通用队列和队列范例来实现。
Queue<string> tasks = new Queue<string>(); // creating a queue class
tasks.Enqueue("Task 1"); // adding to the queue
tasks.Enqueue("Task 2");
Stack<double> numbers = new Stack<double>(); // creating a stack class
numbers.Push(3.14); // adding to the stack
numbers.Push(2.71);
Queue<string> tasks = new Queue<string>(); // creating a queue class
tasks.Enqueue("Task 1"); // adding to the queue
tasks.Enqueue("Task 2");
Stack<double> numbers = new Stack<double>(); // creating a stack class
numbers.Push(3.14); // adding to the stack
numbers.Push(2.71);
Dim tasks As New Queue(Of String)() ' creating a queue class
tasks.Enqueue("Task 1") ' adding to the queue
tasks.Enqueue("Task 2")
Dim numbers As New Stack(Of Double)() ' creating a stack class
numbers.Push(3.14) ' adding to the stack
numbers.Push(2.71)
在无序集合中排列的唯一项由 HashSet 表示
HashSet<int> setA = new HashSet<int> { 1, 2, 3, 4 };
HashSet<int> setB = new HashSet<int> { 3, 4, 5, 6 };
HashSet<int> unionSet = new HashSet<int>(setA);
unionSet.UnionWith(setB); // combining setA and setB
HashSet<int> setA = new HashSet<int> { 1, 2, 3, 4 };
HashSet<int> setB = new HashSet<int> { 3, 4, 5, 6 };
HashSet<int> unionSet = new HashSet<int>(setA);
unionSet.UnionWith(setB); // combining setA and setB
Dim setA As New HashSet(Of Integer) From {1, 2, 3, 4}
Dim setB As New HashSet(Of Integer) From {3, 4, 5, 6}
Dim unionSet As New HashSet(Of Integer)(setA)
unionSet.UnionWith(setB) ' combining setA and setB
C# 库名为IronPDF在 .NET 应用程序中轻松创建、编辑和显示 PDF 文档。 它提供多种许可选择、跨平台兼容性、高质量渲染以及 HTML 到 PDF 的转换。 IronPDF 的用户友好 API 让处理 PDF 变得更加容易,使其成为 C# 开发人员的重要工具。
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
IronPDF 的主要功能包括
性能优化:即使在处理大型或复杂的 PDF 文档时,该库也能提供高效的 PDF 制作和渲染。
要了解有关 IronPDF 文档的更多信息,请参阅IronPDF 文档.
首先使用软件包管理控制台或 NuGet 软件包管理器安装 IronPdf 库:
Install-Package IronPdf
使用 NuGet 软件包管理器搜索软件包 "IronPDF "是一个额外的选择。我们可以从该列表中与 IronPDF 相关的所有 NuGet 软件包中选择并下载必要的软件包。
在我们进入 IronPdf 的界面之前,了解集合在数据结构和组织中扮演的角色至关重要。 开发人员可以使用集合以有组织的方式存储、检索和修改一组事物。 有这么多不同的类型,如列表
想象一下,您必须创建一份包含销售交易列表的报告。 可以使用列表对数据进行有效组织
public class Transaction
{
public string ProductName { get; set; }
public decimal Amount { get; set; }
public DateTime Date { get; set; }
}
List<Transaction> transactions = new List<Transaction>
{
new Transaction { ProductName = "Product A", Amount = 100.50m, Date = DateTime.Now.AddDays(-2) },
new Transaction { ProductName = "Product B", Amount = 75.20m, Date = DateTime.Now.AddDays(-1) },
// Add more transactions as needed
};
public class Transaction
{
public string ProductName { get; set; }
public decimal Amount { get; set; }
public DateTime Date { get; set; }
}
List<Transaction> transactions = new List<Transaction>
{
new Transaction { ProductName = "Product A", Amount = 100.50m, Date = DateTime.Now.AddDays(-2) },
new Transaction { ProductName = "Product B", Amount = 75.20m, Date = DateTime.Now.AddDays(-1) },
// Add more transactions as needed
};
Public Class Transaction
Public Property ProductName() As String
Public Property Amount() As Decimal
Public Property [Date]() As DateTime
End Class
Private transactions As New List(Of Transaction) From {
New Transaction With {
.ProductName = "Product A",
.Amount = 100.50D,
.Date = DateTime.Now.AddDays(-2)
},
New Transaction With {
.ProductName = "Product B",
.Amount = 75.20D,
.Date = DateTime.Now.AddDays(-1)
}
}
在 PDF 文件中,我们将制作一个简单的表格,列出每种产品的名称、交易金额和日期。
var pdfDocument = new IronPdf.HtmlToPdf();
// HTML content with a table populated by data from the 'transactions' list
string htmlContent = "<table><tr><th>Product Name</th><th>Amount</th><th>Date</th></tr>";
foreach (var transaction in transactions)
{
htmlContent += $"<tr><td>{transaction.ProductName}</td><td>{transaction.Amount}</td><td>{transaction.Date.ToShortDateString()}</td></tr>";
}
htmlContent += "</table>";
// Convert HTML to PDF
PdfDocument pdf = pdfDocument.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs(pdfFilePath);
var pdfDocument = new IronPdf.HtmlToPdf();
// HTML content with a table populated by data from the 'transactions' list
string htmlContent = "<table><tr><th>Product Name</th><th>Amount</th><th>Date</th></tr>";
foreach (var transaction in transactions)
{
htmlContent += $"<tr><td>{transaction.ProductName}</td><td>{transaction.Amount}</td><td>{transaction.Date.ToShortDateString()}</td></tr>";
}
htmlContent += "</table>";
// Convert HTML to PDF
PdfDocument pdf = pdfDocument.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs(pdfFilePath);
Dim pdfDocument = New IronPdf.HtmlToPdf()
' HTML content with a table populated by data from the 'transactions' list
Dim htmlContent As String = "<table><tr><th>Product Name</th><th>Amount</th><th>Date</th></tr>"
For Each transaction In transactions
htmlContent &= $"<tr><td>{transaction.ProductName}</td><td>{transaction.Amount}</td><td>{transaction.Date.ToShortDateString()}</td></tr>"
Next transaction
htmlContent &= "</table>"
' Convert HTML to PDF
Dim pdf As PdfDocument = pdfDocument.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs(pdfFilePath)
制作完成后,开发人员可以选择将 PDF 文档保存到磁盘或向用户展示。 IronPDF 提供多种输出选择,包括浏览器流、文件保存和云存储集成。
上图显示了上述代码生成的输出结果。 要了解有关代码的更多信息,请参阅使用 HTML 创建 PDF 示例.
通过将集合与 IronPDF 结合使用,可以为动态文档制作提供大量机会。 开发人员可以利用集合有效地管理和组织数据,而 IronPDF 则可以轻松创建视觉美观的 PDF 文档。 IronPDF 和集合的组合功能为 C# 应用程序中的动态内容制作提供了可靠且适应性强的解决方案,无论您制作的是哪种文档--发票、报告或其他任何文档。
IronPDF 的 $749 Lite 版包括一年的软件支持、升级选项和永久许可证。 在带水印的试用期内,用户还有机会在实际环境中对产品进行评估。 要了解有关 IronPDF 成本、许可和免费试用的更多信息,请访问IronPDF 许可信息. 有关 Iron Software 的更多信息,请访问Iron Software 网站.