.NET-HILFE

C# Übergeben nach Referenz (Wie es für Entwickler funktioniert)

Veröffentlicht 13. August 2024
Teilen Sie:

Einführung

Effektive Speicherverwaltung und Datenmanipulation sind wesentliche Komponenten für die Erstellung von Hochleistungscode in der Programmierwelt. Das Schreiben von effektivem und fehlerfreiem Code erfordert ein Verständnis dafür, wie die Daten übermittelt zwischen Methoden und Funktionen in Sprachen wie C#. Eine Idee, die für dieses Verfahren entscheidend ist, ist "pass by reference" In diesem Beitrag werden wir die Bedeutung von "pass-by-reference" in C# und entsprechende Anwendungsszenarien untersuchen.

Verwendung von C# Übergabe durch Verweis

  1. Definieren Sie eine Methode mit Referenzparametern.

  2. Initialisieren Sie eine Variable.

  3. Rufen Sie die Methode mit dem Schlüsselwort Ref auf.

  4. Ändern Sie die Variable innerhalb der Methode.

  5. Beobachten Sie die Änderungen in der Hauptmethode.

  6. Definieren Sie eine weitere Methode mit Out-Parameter, um PDF zu erzeugen.

  7. Initialisieren und Aufrufen der Out-Methode.

Was ist ein Pass by Reference C#?

Utilize a reference to pass bezieht sich auf die Art und Weise, wie in C# Argumente an Funktionen oder Methoden gesendet werden, indem ein Verweis auf die Anfangsvariable der aufgerufenen Methode anstelle einer Kopie ihres Wertes übergeben wird. Dies bedeutet, dass jede Änderung des Parameters innerhalb der Methode auch Auswirkungen auf die Ausgangsvariable außerhalb der Methode hat.

Werttyp-Variablen in C# (wie int, float, bool, usw.) werden in der Regel durch value, einen Referenzparameter, geliefert, was bedeutet, dass die Methode eine Kopie des Wertes der Variablen erhält. Nichtsdestotrotz können Sie dem Compiler mit dem Schlüsselwort ref mitteilen, dass er Argumente per Referenz übergeben soll.

Verwendung des Schlüsselworts ref

In C# können Argumente für Referenzparameter mit dem Schlüsselwort ref als Verweis übergeben werden. Alle Änderungen, die an einem Parameter vorgenommen werden, der mit dem Schlüsselwort ref als Referenz übergeben wird, haben Auswirkungen auf die ursprüngliche Variable.

class Program
{
    static void Main(string[] args)
    {
        int num = 10;
        Console.WriteLine("Before: " + num); // Output: Before: 10
        ModifyByRef(ref num);
        Console.WriteLine("After: " + num);  // Output: After: 20
    }
    static void ModifyByRef(ref int x)
    {
        x = x * 2;
    }
}
class Program
{
    static void Main(string[] args)
    {
        int num = 10;
        Console.WriteLine("Before: " + num); // Output: Before: 10
        ModifyByRef(ref num);
        Console.WriteLine("After: " + num);  // Output: After: 20
    }
    static void ModifyByRef(ref int x)
    {
        x = x * 2;
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Die ModifyByRef-Methode im obigen Beispiel verwendet das ref-Schlüsselwort, um einen Integer-Parameter, x, per Verweis zu übernehmen. Alle Änderungen, die am ref-Parameter x innerhalb der Methode vorgenommen werden, wirken sich unmittelbar auf die Variable num außerhalb der Methode aus, wenn die Methode mit ref num aufgerufen wird.

Das Aus-Schlüsselwort

Das out-Schlüsselwort wird verwendet, um Parameter per Referenz an die aufrufende Methode zu übergeben, genau wie ref. Daher können die Methoden zahlreiche Werte zurückgeben.

class Program
{
    static void Main(string[] args)
    {
        int result;
        Calculate(10, 5, out result);
        Console.WriteLine("Result: " + result); // Output: Result: 15
    }
    static void Calculate(int x, int y, out int result)
    {
        result = x + y;
    }
}
class Program
{
    static void Main(string[] args)
    {
        int result;
        Calculate(10, 5, out result);
        Console.WriteLine("Result: " + result); // Output: Result: 15
    }
    static void Calculate(int x, int y, out int result)
    {
        result = x + y;
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

In diesem Beispiel werden zwei ganzzahlige Parameter, x und y, sowie ein zusätzlicher Parameter result, der durch das Schlüsselwort out gekennzeichnet ist, an die Methode Calculate übergeben. Das Ergebnis wird dem Ergebnisparameter zugewiesen, nachdem die Prozedur die Summe von x und y berechnet hat. Das Ergebnis muss nicht initialisiert werden, bevor es an die Methode gesendet wird, da es als out markiert ist.

Wann wird die Referenzübergabe verwendet?

Um effizienten und wartbaren Code zu schreiben, muss man wissen, wann man Pass-by-Referenzen verwenden sollte. Die folgenden Situationen erfordern die Verwendung von mehreren Werten für die Weitergabe von Informationen:

Ändern mehrerer Variablen

Die Übergabe der Parameter per Referenz kann hilfreich sein, wenn eine Methode mehrere Variablen ändern muss und diese Änderungen außerhalb der Methode wiedergegeben werden müssen. Anstatt die Prozedur mehrere Werte zurückgeben zu lassen, können Variablen per Referenz gesendet und direkt innerhalb der Methode geändert werden.

static void ModifyMultipleByRef(ref int a, ref int b)
{
    a *= 2;
    b *= 3;
}
static void ModifyMultipleByRef(ref int a, ref int b)
{
    a *= 2;
    b *= 3;
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Große Datenstrukturen

Durch die Vermeidung unnötiger Datenduplikation kann die Übergabe großer Datenstrukturen - wie Arrays oder komplizierte Objekte - durch die Übergabe von Parametern per Verweis die Effizienz steigern. Die Pass-by-Referenz sollte bei der Arbeit mit großen Datenstrukturen jedoch mit Vorsicht verwendet werden, da sie bei unsachgemäßer Handhabung unerwartete Folgen haben kann.

Interoperabilität mit externem Code

Es könnte notwendig sein, Argumente per Referenz zu senden, um sowohl die Methodendefinition als auch die Anforderungen des externen Codes einzuhalten, wenn man mit externen Bibliotheken interagiert oder nativen Code integriert.

Was ist IronPDF?

Die C#-Bibliothek IronPDF ermöglicht es Programmierern, PDF-Dokumente in .NET-Anwendungen zu erstellen, zu ändern und darzustellen. Sein umfangreicher Funktionsumfang macht die Arbeit mit PDF-Dateien einfach. Sie können PDF-Dokumente aus HTML, Fotos und anderen Formaten erstellen; pDFs mit Text, Bildern und anderen Daten zu versehen; und bereits vorhandene PDF-Dokumente teilen, zusammenführen und bearbeiten.

Die Hauptfunktion von IronPDF ist seine Fähigkeit, umzuwandeln. HTML zu PDF, wobei sichergestellt wird, dass Layouts und Stile erhalten bleiben. Diese Funktionalität ist ausgezeichnet für die Erstellung von PDFs aus webbasierten Inhalten wie Berichten, Rechnungen und Dokumentationen. Es konvertiert HTML-Dateien, URLs und HTML-Strings in PDF-Dateien.

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
VB   C#

Merkmale von IronPDF

Text- und Bildkommentare

Mit IronPDF können Sie programmgesteuert Text, Bilder und Anmerkungen zu PDF-Dokumenten hinzufügen. Dank dieser Funktion können Sie PDF-Dateien mit Unterschriften, Stempeln und Anmerkungen versehen.

PDF-Sicherheit

IronPDF ermöglicht es Ihnen, verschiedene Berechtigungen festzulegen, einschließlich Drucken, Kopieren von Inhalten und Bearbeiten des Dokuments, und es kann PDF-Dokumente mit Passwörtern verschlüsseln. Dies hilft Ihnen, den Zugriff auf PDF-Dateien zu kontrollieren und sensible Daten zu schützen.

Ausfüllen von interaktiven PDF-Formularen

IronPDF ermöglicht es Ihnen, interaktive PDF-Formulare programmgesteuert auszufüllen. Diese Funktion ist hilfreich bei der Erstellung von benutzerdefinierten Dokumenten unter Verwendung von Benutzereingaben oder bei der Automatisierung von Formularübermittlungen.

PDF-Komprimierung und -Optimierung

Um die Dateigröße zu minimieren, ohne die Qualität zu beeinträchtigen, bietet IronPDF Lösungen zur Komprimierung und Optimierung von PDF-Dateien. Dadurch wird der Speicherbedarf für PDF-Dokumente verringert und gleichzeitig die Leistung verbessert.

Plattformübergreifende Kompatibilität

IronPDF ist so konzipiert, dass es einwandfrei mit .NET-Anwendungen funktioniert, die unter anderem für Windows, Linux und macOS bestimmt sind. Beliebte .NET-Frameworks wie ASP.NET, .NET Core und Xamarin sind darin integriert.

Erstellen Sie ein neues Visual Studio-Projekt

Mit Visual Studio ist es einfach, ein Konsolenprojekt zu erstellen. Um eine Konsolenanwendung zu erstellen, gehen Sie in Visual Studio wie folgt vor:

Vor dem Start Visual Studiovergewissern Sie sich, dass Sie es auf Ihrem Computer installiert haben.

Ein neues Projekt starten

Wählen Sie Datei, dann Neu und schließlich Projekt.

C# Übergabe durch Referenz (Wie es für Entwickler funktioniert): Abbildung 1

Wählen Sie auf der linken Seite des Feldes "Neues Projekt erstellen" Ihre bevorzugte Programmiersprache (C#, zum Beispiel).

Die "Konsolen-App" oder "Konsolen-App (.NET Core)"Vorlage kann aus der folgenden Liste von Referenztypen von Projektvorlagen ausgewählt werden.

Geben Sie einen Namen für Ihr Projekt in das Feld "Name" ein.

C# Übergabe durch Referenz (Wie es für Entwickler funktioniert): Abbildung 2

Wählen Sie den Speicherort, an dem Sie das Projekt speichern möchten.

Klicken Sie auf "Erstellen", um das Projekt der Konsolenanwendung zu starten.

C# Übergabe durch Referenz (Wie es für Entwickler funktioniert): Abbildung 3

Installation von IronPDF

Unter Tools in den Visual Studio Tools finden Sie die Visual Command-Line-Schnittstelle. Wählen Sie den Paketmanager für NuGet. Auf der Terminal-Registerkarte der Paketverwaltung müssen Sie den folgenden Befehl eingeben.

Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
VB   C#

Eine weitere Alternative ist die Verwendung des Paketmanagers. Die Installation des Pakets direkt in die Lösung ist mit der Option NuGet Package Manager möglich. Verwenden Sie das Suchfeld auf der NuGet-Website, um nach Paketen zu suchen. Der folgende Beispiel-Screenshot zeigt, wie einfach es ist, im Paketmanager nach "IronPDF" zu suchen:

C# Übergabe durch Referenz (Wie es für Entwickler funktioniert): Abbildung 4 - Installation von IronPDF über den NuGet-Paketmanager

Die Liste der relevanten Suchergebnisse ist in der obigen Abbildung zu sehen. Um die Installation der Software auf Ihrem Rechner zu ermöglichen, nehmen Sie bitte diese Einstellungen vor.

Nachdem das Paket heruntergeladen und installiert wurde, kann es nun im aktuellen Projekt verwendet werden.

Verwendung von Pass by Reference mit IronPDF

Dies ist ein Beispiel für die Verwendung der IronPDF-Funktion zur Weitergabe von Referenzen.

using IronPdf;
using System;
class Program
{
    static void Main(string[] args)
    {
        // Create a PDF document
        var pdf = new IronPdf.HtmlToPdf();
        // HTML content to be converted to PDF
        string htmlContent = "<h1>Hello, IronPDF!</h1>";
        // Create a byte array to store the PDF content
        byte[] pdfBytes;
        // Convert HTML to PDF and pass the byte array by reference
        ConvertHtmlToPdf(pdf, htmlContent, out pdfBytes);
        // Save or process the PDF content
        // For demonstration, let's print the length of the PDF content
        Console.WriteLine("Length of PDF: " + pdfBytes.Length);
    }
    static void ConvertHtmlToPdf(IronPdf.HtmlToPdf pdfConverter, string htmlContent, out byte[] pdfBytes)
    {
        // Convert HTML to PDF and store the result in the byte array
        var pdfDoc = pdfConverter.RenderHtmlAsPdf(htmlContent);
        pdfBytes = pdfDoc.BinaryData;
    }
}
using IronPdf;
using System;
class Program
{
    static void Main(string[] args)
    {
        // Create a PDF document
        var pdf = new IronPdf.HtmlToPdf();
        // HTML content to be converted to PDF
        string htmlContent = "<h1>Hello, IronPDF!</h1>";
        // Create a byte array to store the PDF content
        byte[] pdfBytes;
        // Convert HTML to PDF and pass the byte array by reference
        ConvertHtmlToPdf(pdf, htmlContent, out pdfBytes);
        // Save or process the PDF content
        // For demonstration, let's print the length of the PDF content
        Console.WriteLine("Length of PDF: " + pdfBytes.Length);
    }
    static void ConvertHtmlToPdf(IronPdf.HtmlToPdf pdfConverter, string htmlContent, out byte[] pdfBytes)
    {
        // Convert HTML to PDF and store the result in the byte array
        var pdfDoc = pdfConverter.RenderHtmlAsPdf(htmlContent);
        pdfBytes = pdfDoc.BinaryData;
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Die Funktion ConvertHtmlToPdf in diesem Beispiel benötigt drei Parameter: HTML-Inhalt, ein Byte-Array namens pdfBytes und ein IronPDF HtmlToPdf-Objekt. Das Schlüsselwort out zeigt an, dass der Parameter pdfBytes als Referenz übergeben wird und innerhalb der Methode geändert wird.

C# Übergabe durch Referenz (Wie es für Entwickler funktioniert): Abbildung 5

Der HTML-Inhalt wird mit IronPDF in der Funktion ConvertHtmlToPdf als PDF-Dokument gerendert, und die daraus resultierenden Binärdaten werden im Array pdfBytes gespeichert.

Wir verwenden ConvertHtmlToPdf wieder in der Main-Funktion, wobei das pdfBytes-Array per Referenz übergeben wird. Nach dem Methodenaufruf wird der PDF-Inhalt von IronPDF am Speicherort des pdfBytes-Arrays gespeichert.

C# Übergabe durch Referenz (Wie es für Entwickler funktioniert): Abbildung 6

Hier erfahren Sie, wie Sie mit IronPDF und Pass-by-Reference in C# effizient PDF-Dokumente erstellen und bearbeiten können.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass die Verwendung von IronPDF mit Pass-by-Reference in C# die Möglichkeiten zum Erstellen und Ändern von PDF-Dokumenten in .NET-Programmen erheblich verbessert. Die effektive Verwendung der Schlüsselwörter ref und out ermöglicht es Entwicklern, Argumente einfach per Referenz zu übermitteln, wodurch es möglich ist, Variablen und Inhalte innerhalb von Methoden schnell und effizient zu ändern. IronPDF bietet eine breite Palette von Funktionen, darunter die Möglichkeit, HTML in PDF zu konvertieren, PDFs auf der Basis von Bildern zu erzeugen und umfangreiche PDF-Modifizierungsaufgaben durchzuführen, die es Entwicklern ermöglichen, auf einfache Weise dynamische und interaktive PDF-Dokumente zu erstellen.

IronPDF bietet die Werkzeuge und APIs, die zur Beschleunigung von Dokumentenverarbeitungsprozessen erforderlich sind, einschließlich des Aufteilens, Zusammenführens, Kommentierens und Optimierens von PDF-Dateien. Darüber hinaus garantiert die plattformübergreifende Interoperabilität von PDF, dass C#-Anwendungen PDF-Funktionen problemlos in eine Vielzahl von Umgebungen integrieren können. Im Wesentlichen können Entwickler neue Möglichkeiten für die Erstellung, Änderung und Anzeige von PDF-Dokumenten in ihren Anwendungen schaffen, indem sie die Stärken von C#s Pass-by-Reference mit IronPDFs reichhaltigem Funktionsumfang kombinieren.

Schließlich können Sie effizient mit Excel arbeiten, PDFs erstellen, OCR durchführen und Barcodes verwenden, indem Sie IronPDF und IronSoftware preis beginnt bei 749 $. Entwickler können das beste Modell mit Zuversicht wählen, wenn es klare Lizenzoptionen gibt, die auf die Bedürfnisse des Projekts zugeschnitten sind. Mit diesen Vorteilen können Entwickler eine Vielzahl von Herausforderungen mit Effizienz und Transparenz bewältigen.

< PREVIOUS
NServiceBus C# (Wie es für Entwickler funktioniert)
NÄCHSTES >
EasyNetQ .NET (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >