Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
C# ist eine vielseitige und leistungsstarke Sprache, die viele Funktionen bietet. Dazu gehört auch das C#-Wörterbuch.
Bevor Sie sich mit der Methode TryGetValue
beschäftigen, sollten Sie unbedingt verstehen, was ein Dictionary in C# ist. Einfach ausgedrückt ist ein Dictionary eine Sammlung von Schlüssel/Wert-Paaren. Sie können zum Beispiel ein Wörterbuch haben, dessen Schlüssel die Namen der Schüler sind (string-Werte)und die Werte sind das entsprechende Alter (ganzzahlige Werte).
Dictionary<string, int> studentAges = new Dictionary<string, int>
{
{"Alice", 20},
{"Bob", 22},
{"Charlie", 19}
};
Dictionary<string, int> studentAges = new Dictionary<string, int>
{
{"Alice", 20},
{"Bob", 22},
{"Charlie", 19}
};
Dim studentAges As New Dictionary(Of String, Integer) From {
{"Alice", 20},
{"Bob", 22},
{"Charlie", 19}
}
Die Schlüssel in einem Dictionary sind eindeutig. Sie können auf Schlüssel zugreifen, um den entsprechenden Wert abzurufen, wodurch Wörterbücher unglaublich effizient für Nachschlagefunktionen sind.
ContainsKey
-MethodeBei der Arbeit mit C# Dictionaries besteht eine häufige Aufgabe darin, einen Wert abzurufen, der mit einem bestimmten Schlüssel verknüpft ist. Der direkte Zugriff auf einen Schlüssel, der nicht existiert, kann jedoch eine KeyNotFoundException
auslösen und den Programmfluss unterbrechen. Um dies zu vermeiden, ist es üblich, zu prüfen, ob der angegebene Schlüssel im Wörterbuch vorhanden ist. An dieser Stelle kommt die Methode ContainsKey
ins Spiel.
Die Methode ContainsKey
ist eine einfache und intuitive Funktion, die überprüft, ob ein bestimmter Schlüssel im Dictionary vorhanden ist. Hier ist die grundlegende Syntax der Methode "ContainsKey":
Dictionary<TKey, TValue>.ContainsKey(TKey key)
Dictionary<TKey, TValue>.ContainsKey(TKey key)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Dictionary<TKey, TValue>.ContainsKey(TKey key)
Sie nimmt den Schlüssel als Parameter und gibt einen booleschen Wert zurück. Wenn der Schlüssel im Dictionary enthalten ist, wird true
zurückgegeben; wenn nicht, wird false
zurückgegeben.
Im folgenden Beispiel haben wir ein Dictionary mit Schülernamen als Schlüssel und dem entsprechenden Alter als Wert.
Dictionary<string, int> studentAges = new Dictionary<string, int>
{
{"Alice", 20},
{"Bob", 22},
{"Charlie", 19}
};
Dictionary<string, int> studentAges = new Dictionary<string, int>
{
{"Alice", 20},
{"Bob", 22},
{"Charlie", 19}
};
Dim studentAges As New Dictionary(Of String, Integer) From {
{"Alice", 20},
{"Bob", 22},
{"Charlie", 19}
}
Wenn Sie nun das Alter eines Schülers mit dem Namen "Alice" abfragen wollen, müssen Sie zunächst mit der Methode ContainsKey
prüfen, ob "Alice" ein Schlüssel im Dictionary ist.
string student = "Alice";
if(studentAges.ContainsKey(student))
{
int age = studentAges [student];
Console.WriteLine($"{student} is {age} years old.");
}
else
{
Console.WriteLine($"{student} does not exist in the dictionary.");
}
string student = "Alice";
if(studentAges.ContainsKey(student))
{
int age = studentAges [student];
Console.WriteLine($"{student} is {age} years old.");
}
else
{
Console.WriteLine($"{student} does not exist in the dictionary.");
}
Dim student As String = "Alice"
If studentAges.ContainsKey(student) Then
Dim age As Integer = studentAges (student)
Console.WriteLine($"{student} is {age} years old.")
Else
Console.WriteLine($"{student} does not exist in the dictionary.")
End If
In diesem Fall wird das Programm ausgeben: "Alice ist 20 Jahre alt" Wenn Sie versuchen würden, das Alter eines Schülers zu ermitteln, das nicht im Dictionary vorhanden ist, würde die Methode ContainsKey
verhindern, dass eine KeyNotFoundException
ausgelöst wird und stattdessen eine Meldung ausgeben, dass der Schüler nicht existiert.
Die Methode ContainsKey
kann zwar nützlich sein, ist aber nicht immer die effizienteste. Im obigen Codeschnipsel werden zwei Nachschlageoperationen für das Dictionary durchgeführt: eine für die Methode ContainsKey
und eine zum Abrufen des Wertes. Dies kann zeitaufwendig sein, insbesondere bei großen Wörterbüchern.
Die Methode ContainsKey
ist zwar eine einfache und intuitive Methode zur Behandlung von Ausnahmen, wenn ein angegebener Schlüssel nicht in einem Dictionary gefunden wird, aber es lohnt sich, alternative Methoden wie TryGetValue
in Betracht zu ziehen, die ähnliche Funktionen mit besserer Leistung bieten. Wir werden TryGetValue
in den folgenden Abschnitten ausführlicher behandeln.
TryGetValue
Hier kommt die Methode TryGetValue
zum Einsatz. Die Methode TryGetValue
kombiniert die Überprüfung und den Abruf des Wertes in einem einzigen Schritt und bietet eine nahezu identische Codefunktionalität, jedoch mit verbesserter Leistung.
Die Methode TryGetValue
benötigt zwei Parameter:
Der Schlüssel, den Sie suchen.
Ein out-Parameter, der den Wert enthält, wenn der Schlüssel existiert.
Hier ist die Syntax:
Dictionary<TKey, TValue>.TryGetValue(TKey key, out TValue value)
Dictionary<TKey, TValue>.TryGetValue(TKey key, out TValue value)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Dictionary<TKey, TValue>.TryGetValue(TKey key, out TValue value)
Das Schlüsselwort "out" bedeutet, dass diese Methode den Parameter "value" ändert. Der Wert "out" ist der Standardwert der Wertart, wenn der angegebene Schlüssel nicht gefunden wird (0 für ganze Zahlen, null für Referenztypen). Andernfalls enthält es den Wert, der dem angegebenen Schlüssel entspricht.
Hier wird beschrieben, wie man TryGetValue
verwendet:
string student = "Alice";
if(studentAges.TryGetValue(student, out int age))
{
Console.WriteLine($"{student} is {age} years old.");
}
else
{
Console.WriteLine($"{student} does not exist in the dictionary.");
}
string student = "Alice";
if(studentAges.TryGetValue(student, out int age))
{
Console.WriteLine($"{student} is {age} years old.");
}
else
{
Console.WriteLine($"{student} does not exist in the dictionary.");
}
Dim student As String = "Alice"
Dim age As Integer
If studentAges.TryGetValue(student, age) Then
Console.WriteLine($"{student} is {age} years old.")
Else
Console.WriteLine($"{student} does not exist in the dictionary.")
End If
Dieser Code bietet fast die gleiche Funktionalität wie das Beispiel der Methode "ContainsKey", ist aber effizienter, da er den Schlüssel nur einmal nachschlägt.
Um die Methode TryGetValue
besser zu verstehen, wollen wir ein praktisches Codebeispiel untersuchen. Nehmen wir eine Schuldatenbank, in der jeder Schüler eine eindeutige ID und einen entsprechenden Namen hat. Diese Daten werden in einem Dictionary mit der Schüler-ID als Schlüssel und dem Namen als Wert gespeichert.
Dictionary<int, string> studentNames = new Dictionary<int, string>
{
{1, "Alice"},
{2, "Bob"},
{3, "Charlie"}
};
Dictionary<int, string> studentNames = new Dictionary<int, string>
{
{1, "Alice"},
{2, "Bob"},
{3, "Charlie"}
};
Dim studentNames As New Dictionary(Of Integer, String) From {
{1, "Alice"},
{2, "Bob"},
{3, "Charlie"}
}
In diesem Fall möchten Sie den Namen des Schülers mit der ID 2 abrufen, aber auch sicherstellen, dass der Schüler mit dieser ID in der Datenbank existiert.
Traditionell könnte man zuerst die Methode ContainsKey
verwenden, um zu prüfen, ob der Schlüssel (studentenausweis 2) existiert und dann auf das Wörterbuch zugreifen, um den entsprechenden Wert zu erhalten (studentenname). Mit der Methode TryGetValue
können Sie dies jedoch in einem einzigen Schritt erreichen.
Die Methode TryGetValue
nimmt zwei Argumente entgegen: den gesuchten Schlüssel und einen out
-Parameter, der den mit diesem Schlüssel verbundenen Wert enthält, falls er existiert. Wenn der Schlüssel gefunden wird, gibt die Methode "wahr" zurück und weist den entsprechenden Wert dem Parameter "out" zu. Ist dies nicht der Fall, wird false
zurückgegeben, und der Parameter out
erhält den Standardwert für seinen Typ.
int i = 2; // Student ID
if (studentNames.TryGetValue(i, out string value))
{
Console.WriteLine($"The name of the student with ID {i} is {value}.");
}
else
{
Console.WriteLine($"No student with ID {i} exists in the dictionary.");
}
int i = 2; // Student ID
if (studentNames.TryGetValue(i, out string value))
{
Console.WriteLine($"The name of the student with ID {i} is {value}.");
}
else
{
Console.WriteLine($"No student with ID {i} exists in the dictionary.");
}
Dim i As Integer = 2 ' Student ID
Dim value As String
If studentNames.TryGetValue(i, value) Then
Console.WriteLine($"The name of the student with ID {i} is {value}.")
Else
Console.WriteLine($"No student with ID {i} exists in the dictionary.")
End If
In diesem Fall sucht die Methode TryGetValue
nach dem Schlüssel 2 im Dictionary studentNames
. Findet er den Schlüssel, weist er der Variablen "value" den entsprechenden Wert zu (den Namen des Schülers)und die Methode gibt true
zurück. Dann gibt das Programm aus: "Der Name des Schülers mit der ID 2 ist Bob"
Wenn die Methode TryGetValue
den Schlüssel 2 nicht findet, wird der Standardwert für eine Zeichenkette zugewiesen (die Null ist) in die Variable "value", und die Methode gibt "false" zurück. Der Code geht dann zum else
-Block und gibt aus: "Kein Schüler mit ID 2 existiert im Wörterbuch"
TryGetValue
rationalisiert Ihren Code, indem es die Prüfung des Vorhandenseins des Schlüssels und das Abrufen des Wertes in einem einzigen Schritt kombiniert. Darüber hinaus bietet es einen Leistungsschub, insbesondere bei größeren Wörterbüchern, indem es die Notwendigkeit mehrerer Schlüsselabfragen eliminiert.
Wenn Sie in C# weiter vorankommen, stehen Ihnen viele Tools und Bibliotheken zur Verfügung, die Ihre Programmierfähigkeiten erheblich verbessern können. Dazu gehören die Iron-Bibliotheken, eine Reihe von Tools, die speziell zur Erweiterung der Funktionalität von C#-Anwendungen entwickelt wurden. Dazu gehören IronPDF, IronXL, IronOCR und IronBarcode. Jede dieser Bibliotheken verfügt über einen einzigartigen Funktionsumfang, und alle bieten erhebliche Vorteile, wenn sie zusammen mit Standard-C# verwendet werden.
IronPDF ist eine C#-Bibliothek, die entwickelt wurde, um pDF-Dateien aus HTML erstellen, bearbeiten und extrahieren Sie PDF-Inhalte in .NET-Anwendungen. Mit IronPDF können Sie programmatisch PDF-Berichte erstellen, PDF-Formulare ausfüllen und PDF-Dokumente bearbeiten. Die Bibliothek bietet auch Funktionen für die Konvertierung von HTML in PDF, wodurch die Umwandlung vorhandener HTML-Inhalte in PDF-Dateien erleichtert wird.
Der Clou von IronPDF ist seine HTML zu PDF funktion, die alle Layouts und Stile intakt hält. Es ermöglicht Ihnen, PDFs aus Webinhalten zu erstellen, die sich für Berichte, Rechnungen und Dokumentationen eignen. HTML-Dateien, URLs und HTML-Strings können nahtlos in PDFs konvertiert werden.
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
Stellen Sie sich im Zusammenhang mit unserem Thema ein Szenario vor, in dem Sie Schülerdaten aus einem Dictionary abrufen und einen PDF-Bericht erstellen möchten. tryGetValue" könnte die erforderlichen Daten effizient abrufen und dann IronPDF nutzen, um das PDF-Dokument zu erstellen.
IronXL ist eine Excel-Bibliothek für C# und .NET. Es ermöglicht Entwicklern das Lesen, Schreiben und Erstellen von Excel-Dateien in .NET-Anwendungen ohne Interop. Es ist perfekt für Szenarien, in denen Sie Daten aus einer Excel-Tabelle exportieren oder importieren müssen.
Angenommen, Sie haben ein Dictionary, in dem die Schlüssel die Produkt-IDs und die Werte die Mengen darstellen. Sie könnten TryGetValue
verwenden, um die Menge eines bestimmten Produkts abzurufen und dann IronXL verwenden, um diese Menge in einer Excel-Bestandsverwaltungstabelle zu aktualisieren.
IronOCR ist eine erweiterte OCR (Optische Zeichenerkennung) & Barcode-Lesebibliothek für .NET und C#. Es ermöglicht Entwicklern, Text und Barcodes aus Bildern und PDFs in .NET-Anwendungen zu lesen. Dies kann besonders nützlich sein, wenn Sie Daten aus gescannten Dokumenten oder Bildern extrahieren und in Ihrem Code verarbeiten müssen.
Stellen Sie sich ein Szenario vor, in dem Sie IronOCR zum Extrahieren von Studenten-IDs aus gescannten Dokumenten verwendet haben. Nach der Verarbeitung speichern Sie die IDs und die entsprechenden Schülerdaten in einem Dictionary. Beim Abrufen der Daten eines bestimmten Schülers kann "TryGetValue" verwendet werden, um die Daten effizient aus dem Wörterbuch abzurufen.
IronBarcode ist eine Bibliothek zum Lesen und Schreiben von Barcodes für .NET. Mit IronBarcode können Entwickler verschiedene Barcode- und QR-Code-Formate erzeugen und lesen. Es ist ein leistungsfähiges Werkzeug zur Kodierung und Dekodierung von Daten in einem kompakten, maschinenlesbaren Format.
Stellen Sie sich ein praktisches Szenario vor: Sie verwenden Barcodes, um Produktinformationen in einem Einzelhandelssystem zu speichern. Jeder Strichcode könnte einer eindeutigen Produkt-ID entsprechen, die als Schlüssel in einem Wörterbuch gespeichert ist. Wenn ein Barcode gescannt wird, können Sie TryGetValue
verwenden, um schnell die zugehörigen Produktdetails aus dem Wörterbuch abzurufen und anzuzeigen.
Nachdem wir die Funktionalitäten der Iron-Bibliotheken in Verbindung mit Standard-C#-Features wie der TryGetValue
-Methode erkundet haben, ist klar, dass diese Tools Ihren Entwicklungsprozess erheblich verbessern können. Ob Sie nun mit PDFs, Excel-Dateien, OCR oder Barcodes arbeiten, die Iron Suite hat eine auf Ihre Bedürfnisse zugeschnittene Lösung.
Was noch verlockender ist: Jedes dieser Produkte bietet ein kostenlos testendamit können Sie die Funktionen kostenlos erkunden und ausprobieren. Wenn Sie sich entscheiden, die Bibliotheken weiter zu nutzen, beginnt die Lizenz mit $749 für jedes Produkt. Wenn Sie jedoch an mehreren Iron Bibliotheken interessiert sind, können Sie die Iron Suite zum Preis von nur zwei Einzelprodukten erwerben, was noch mehr Vorteile bietet.
9 .NET API-Produkte für Ihre Bürodokumente