在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
語言集成查詢 (LINQ)C# 中的一個強大語言特性,使程式設計師能夠為各種數據來源創建清晰、表達力強的搜索。本文將討論使用 IronPDF,使用靈活的 C# 庫來處理 PDF 文件 LINQ 的 Distinct function。 我們將展示這種組合如何使從集合中創建獨特文件的過程變得更容易。 在本文中,我們將學習如何使用IronPDF來了解C# LINQ distinct function。
建立一個新的控制台專案。
匯入 System.Linq
命名空間。
創建一個包含多個項目的列表。
調用 Distinct
方法。()5. 獲取唯一值並在控制台顯示結果。
開發人員可以使用 C# 的 LINQ 直接在代碼中構建清晰且具有表達力的查詢來進行數據操作 (語言集成查詢) 功能。LINQ首次包含在.NET Framework 3.5中,提供了一种查询各种数据源(包括數據库和集合)的標準語法。LINQ使用像Where和Select這樣的運算符,使得過濾和投影等簡單任務變得更加容易,從而提高了代碼的可讀性。因為它允許為了最佳速度而推遲執行,這個功能對C#開發人員來說是至關重要的,以確保數據操作能夠快速且自然地完成,類似於SQL的方法。
可以使用 LINQ 的 Distinct 功能從集合或序列中移除重複元素。在沒有自定義等同性比較器的情況下,它將使用默認比較器來比較項目。這使得它在需要處理唯一集合並移除重複組件的情況下成為一個很好的選擇。Distinct 方法利用默認的等同性比較來評估值。對於特定的重複屬性,它將返回 false,並基於此顯示唯一元素。
若要獲取不同的項目,最簡單的方法是直接在集合上使用 Distinct 方法。
var distinctNumbers = numbers.Distinct();
var distinctNumbers = numbers.Distinct();
Dim distinctNumbers = numbers.Distinct()
您可以使用 Distinct 函數的重載來定義自訂相等比較。這對於想要根據特定標準來比較項目很有幫助。請參考以下示例:
var distinctPeople = people.Distinct(new PersonEqualityComparer());
var distinctPeople = people.Distinct(new PersonEqualityComparer());
Dim distinctPeople = people.Distinct(New PersonEqualityComparer())
當使用 Distinct 方法與值類型時,您不需要提供自定義的相等比較。
var distinctIntegers = integers.Distinct();
var distinctIntegers = integers.Distinct();
Dim distinctIntegers = integers.Distinct()
Distinct 可以用於匿名類型,以根據特定屬性去除重複項。請參考以下示例:
var distinctPeople = people
.Select(p => new { p.FirstName, p.LastName })
.Distinct();
var distinctPeople = people
.Select(p => new { p.FirstName, p.LastName })
.Distinct();
Dim distinctPeople = people.Select(Function(p) New With {
Key p.FirstName,
Key p.LastName
}).Distinct()
在處理對象時,你可以透過自己撰寫邏輯來依某個屬性區分,或者使用來自第三方庫的 DistinctBy
擴展方法。 (喜歡更多 LINQ).
var distinctPeople = people.DistinctBy(p => p.Id);
var distinctPeople = people.DistinctBy(p => p.Id);
Dim distinctPeople = people.DistinctBy(Function(p) p.Id)
程式設計師可以使用 .NET 函式庫和 C# 語言來創建、編輯和修改 PDF 文件 IronPDF. 該程式提供一系列工具和功能,可用於處理各種PDF文件相關的任務,例如從HTML生成PDF、將HTML轉換為PDF、合併或拆分PDF文件、以及向現有的PDF中添加文字、圖片和註釋。欲了解更多關於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
獲取 IronPDF 庫;未來的補丁需要它。在 NuGet 套件管理器控制台中輸入以下代碼以完成此操作:
Install-Package IronPdf
使用 NuGet 套件管理器來搜尋 "IronPDF" 套件也是一個選擇。我們可以從這份列表中選擇並下載與 IronPDF 相關的所有 NuGet 套件中的必要套件。
考慮一種情況,其中您有一組數據,並希望根據該組中的不同值創建各種 PDF 文件。這正是 LINQ 的 Distinct 特別有用之處,尤其是在與 IronPDF 結合使用以快速創建文件時。
using IronPdf;
using System;
using System.Collections.Generic;
using System.Linq;
public class DocumentGenerator
{
public string result {get;set;}
public int id {get;set;}
public static void Main()
{
// Sample data representing categories
List<string> categories = new List<string>
{
"Technology",
"Business",
"Health",
"Technology",
"Science",
"Business",
"Health"
};
// Use LINQ Distinct to filter out duplicate values
// distinct query syntax
var distinctCategories = categories.Distinct();
// Generate a distinct elements PDF document for each category
foreach (var category in distinctCategories)
{
GeneratePdfDocument(category);
}
}
private static void GeneratePdfDocument(string category)
{
// Create a new PDF document using IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>");
// Save the PDF to a file
string pdfFilePath = $"{category}_Report.pdf";
pdf.SaveAs(pdfFilePath);
// Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
}
}
using IronPdf;
using System;
using System.Collections.Generic;
using System.Linq;
public class DocumentGenerator
{
public string result {get;set;}
public int id {get;set;}
public static void Main()
{
// Sample data representing categories
List<string> categories = new List<string>
{
"Technology",
"Business",
"Health",
"Technology",
"Science",
"Business",
"Health"
};
// Use LINQ Distinct to filter out duplicate values
// distinct query syntax
var distinctCategories = categories.Distinct();
// Generate a distinct elements PDF document for each category
foreach (var category in distinctCategories)
{
GeneratePdfDocument(category);
}
}
private static void GeneratePdfDocument(string category)
{
// Create a new PDF document using IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>");
// Save the PDF to a file
string pdfFilePath = $"{category}_Report.pdf";
pdf.SaveAs(pdfFilePath);
// Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
}
}
Imports IronPdf
Imports System
Imports System.Collections.Generic
Imports System.Linq
Public Class DocumentGenerator
Public Property result() As String
Public Property id() As Integer
Public Shared Sub Main()
' Sample data representing categories
Dim categories As New List(Of String) From {"Technology", "Business", "Health", "Technology", "Science", "Business", "Health"}
' Use LINQ Distinct to filter out duplicate values
' distinct query syntax
Dim distinctCategories = categories.Distinct()
' Generate a distinct elements PDF document for each category
For Each category In distinctCategories
GeneratePdfDocument(category)
Next category
End Sub
Private Shared Sub GeneratePdfDocument(ByVal category As String)
' Create a new PDF document using IronPDF
Dim renderer As New IronPdf.HtmlToPdf()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>")
' Save the PDF to a file
Dim pdfFilePath As String = $"{category}_Report.pdf"
pdf.SaveAs(pdfFilePath)
' Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}")
End Sub
End Class
在此範例中,透過對分類集合使用 Distinct 方法來獲得一系列不同的分類。這將幫助我們從序列中移除重複的元素。接下來,使用 IronPDF 來創建包含唯一元素的 PDF 文件。此方法保證僅為唯一的分類生成獨立的 PDF 文件。
要了解有關使用 HTML 生成 PDF 的 IronPDF 代碼範例的更多信息,請參閱 這裡.
LINQ 的 Distinct 擴展方法結合 IronPDF 提供了一種穩健且高效的機制,用於基於值創建唯一的 PDF 文件。這種方法簡化了代碼,並保證了文檔生產的有效性,無論您是在處理分類、標籤或其他需要單獨文檔的數據。
通過利用 LINQ 進行數據處理和 IronPDF 進行文檔生產,您可以為管理 C# 應用程序的不同方面開發出可靠且具有表現力的解決方案。在您的項目中使用這些策略時,請記住應用程序的特定需求,並調整實施以實現最大限度的可靠性和性能。