Créer un PDF avec le dictionnaire C#. Voyez les résultats en action !
using IronPdf;
using System;
using System.Collections.Generic;
var dictionary = new Dictionary<string, int>
{
{ "Apple", 50 },
{ "Banana", 30 },
{ "Cherry", 20 }
};
string keyToFind = "Banana";
bool found = dictionary.TryGetValue(keyToFind, out int value);
string resultMessage;
if (found)
{
resultMessage = $"The value associated with '{keyToFind}' is {value}.";
}
else
{
resultMessage = $"The key '{keyToFind}' was not found in the dictionary.";
}
var htmlContent = $"<h1>Dictionary TryGetValue Example</h1><p>{resultMessage}</p>";
// Initialize ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the HTML content as PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF file
pdfDocument.SaveAs("DictionaryTryGetValueExample.pdf");
Console.WriteLine("PDF saved as DictionaryTryGetValueExample.pdf");
C# Dictionnaire Trygetvalue (Comment ça marche pour les développeurs)
Chaknith Bin
août 29, 2023
Partager:
C# est un langage polyvalent et puissant qui offre de nombreuses fonctionnalités. Parmi eux, le dictionnaire C#.
Comprendre les bases du dictionnaire C
Avant de plonger dans la méthode TryGetValue, il est crucial de comprendre ce qu'est un Dictionary en C#. En termes simples, un dictionnaire est une collection de paires clé/valeur. Par exemple, vous pouvez avoir un dictionnaire où les clés sont les noms des étudiants (valeurs de type chaîne), et les valeurs sont leurs âges correspondants (valeurs entières).
Dim studentAges As New Dictionary(Of String, Integer) From {
{"Alice", 20},
{"Bob", 22},
{"Charlie", 19}
}
$vbLabelText $csharpLabel
Les clés d'un dictionnaire sont uniques. Vous pouvez accéder aux clés pour récupérer la valeur correspondante, ce qui rend les dictionnaires incroyablement efficaces pour les fonctions de recherche.
L'approche conventionnelle : méthode ContainsKey
Lorsque l'on travaille avec des dictionnaires C#, une tâche courante consiste à récupérer une valeur associée à une clé particulière. Cependant, accéder directement à une clé qui n'existe pas peut générer une KeyNotFoundException, interrompant ainsi le flux de votre programme. Pour éviter cela, il est courant de vérifier si la clé spécifiée existe dans le dictionnaire. C'est là que la méthode ContainsKey entre en jeu.
La méthode ContainsKey est une fonction simple et intuitive qui vérifie si une certaine clé est présente dans le Dictionary. Voici la syntaxe de base de la méthode 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)
$vbLabelText $csharpLabel
Elle prend la clé en paramètre et renvoie une valeur booléenne. Si la clé est dans le Dictionnaire, elle renverra true; sinon, il retournera false.
Prenons l'exemple suivant : nous avons un dictionnaire dont les clés sont les noms des étudiants et les valeurs les âges correspondants.
Dim studentAges As New Dictionary(Of String, Integer) From {
{"Alice", 20},
{"Bob", 22},
{"Charlie", 19}
}
$vbLabelText $csharpLabel
Maintenant, si vous voulez obtenir l'âge d'une étudiante nommée "Alice", vous utiliseriez d'abord la méthode ContainsKey pour vérifier si "Alice" est une clé dans le dictionnaire.
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
$vbLabelText $csharpLabel
Dans ce cas, le programme affichera "Alice a 20 ans." Si vous essayez d'obtenir l'âge d'un étudiant non présent dans le dictionnaire, la méthode ContainsKey empêcherait qu'une KeyNotFoundException soit lancée et afficherait plutôt un message indiquant que l'étudiant n'existe pas.
Toutefois, bien que la méthode ContainsKey puisse être utile, elle n'est pas toujours la plus efficace. Dans l'extrait de code ci-dessus, deux opérations de recherche sont effectuées sur le dictionnaire : une pour la méthode ContainsKey et une pour récupérer la valeur. Cette opération peut prendre beaucoup de temps, en particulier lorsqu'il s'agit de dictionnaires volumineux.
Bien que la méthode ContainsKey soit un moyen simple et intuitif de gérer des exceptions lorsqu'une clé spécifiée n'est pas trouvée dans un Dictionnaire, il vaut la peine de considérer des méthodes alternatives comme TryGetValue, qui peuvent offrir une fonctionnalité similaire avec de meilleures performances. Nous discuterons de TryGetValue plus en détail dans les sections suivantes.
Combiner la vérification et la récupération avec TryGetValue
C'est là que la méthode TryGetValue devient utile. La méthode TryGetValue combine la vérification et la récupération de valeur en une seule étape, offrant une fonctionnalité de code presque identique mais avec des performances améliorées.
La méthode TryGetValue nécessite deux paramètres :
La clé que vous recherchez.
Un paramètre out qui contiendra la valeur si la clé existe.
Voici la syntaxe :
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)
$vbLabelText $csharpLabel
Le mot-clé out est utilisé pour indiquer que cette méthode modifiera le paramètre value. La valeur out sera la valeur par défaut du type de valeur si la clé spécifiée n'est pas trouvée (0 pour les entiers, null pour les types de référence). Dans le cas contraire, il contiendra la valeur correspondant à la clé fournie.
Voici comment utiliser TryGetValue :
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
$vbLabelText $csharpLabel
Ce code offre une fonctionnalité presque identique à l'exemple de la méthode ContainsKey, mais il est plus efficace car il ne recherche la clé qu'une seule fois.
TryGetValue Exemple de code en action
Pour mieux comprendre la méthode TryGetValue, explorons un exemple de code pratique. Prenons l'exemple d'une base de données scolaire dans laquelle chaque élève possède un identifiant unique et un nom correspondant. Ces données sont stockées dans un dictionnaire dont la clé est l'identifiant de l'étudiant et la valeur le nom.
Dim studentNames As New Dictionary(Of Integer, String) From {
{1, "Alice"},
{2, "Bob"},
{3, "Charlie"}
}
$vbLabelText $csharpLabel
Dans ce cas, disons que vous voulez extraire le nom de l'élève portant l'ID 2, mais que vous voulez aussi vous assurer que l'élève portant cet ID existe dans la base de données.
Traditionnellement, vous pourriez d'abord utiliser la méthode ContainsKey pour vérifier si la clé (ID de l'étudiant 2) existe, puis accéder au Dictionnaire pour obtenir la valeur correspondante (nom de l'étudiant). Cependant, avec la méthode TryGetValue, vous pouvez accomplir cela en une seule étape.
La méthode TryGetValue prend deux arguments : la clé que vous recherchez et un paramètre out qui contiendra la valeur associée à cette clé si elle existe. Si la clé est trouvée, la méthode retournera true et assignera la valeur correspondante au paramètre out. S'il ne l'est pas, il retournera false, et le paramètre out prendra la valeur par défaut pour son type.
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
$vbLabelText $csharpLabel
Dans ce cas, la méthode TryGetValue recherche la clé 2 dans le dictionnaire studentNames. S'il trouve la clé, il assigne la valeur correspondante à la variable value (le nom de l'étudiant), et la méthode retourne true. Le programme imprime ensuite "Le nom de l'élève ayant l'ID 2 est Bob"
Si la méthode TryGetValue ne trouve pas la clé 2, elle attribuera la valeur par défaut pour une chaîne (qui est null) à la variable value, et la méthode retournera false. Le code passe ensuite au bloc else, affichant, "Aucun étudiant avec l'ID 2 n'existe dans le dictionnaire."
TryGetValue simplifie votre code en combinant la vérification de l'existence de la clé et la récupération de la valeur en une seule étape. De plus, il offre un gain de performance, notamment avec des dictionnaires plus grands, en supprimant la nécessité de multiples opérations de recherche de clé.
Présentation d'Iron Suite
Au fur et à mesure que vous progressez dans votre parcours en C#, vous trouverez de nombreux outils et bibliothèques à votre disposition qui peuvent améliorer de manière significative vos capacités de programmation. Parmi celles-ci figurent les bibliothèques Iron, une suite d'outils spécialement conçus pour étendre les fonctionnalités des applications C#. Il s'agit d'IronPDF, IronXL, IronOCR et IronBarcode. Chacune de ces bibliothèques possède un ensemble unique de fonctionnalités, et elles offrent toutes des avantages significatifs lorsqu'elles sont utilisées en conjonction avec le C# standard.
IronPDF
Découvrez IronPDF pour la création de PDF en .NET est une bibliothèque C# conçue pour créer des fichiers PDF à partir de HTML, éditer et extraire du contenu PDF dans des applications .NET. Avec IronPDF, vous pouvez générer par programme des rapports PDF, remplir des formulaires PDF et manipuler des documents PDF. La bibliothèque propose également des fonctions de conversion de HTML en PDF, ce qui permet de convertir facilement des contenus HTML existants en PDF.
Le point fort d'IronPDF est sa fonction HTML vers PDF, qui conserve tous les agencements et styles intacts. Il vous permet de créer des PDF à partir de contenus web, adaptés aux rapports, aux factures et à la documentation. Les fichiers HTML, les URL et les chaînes HTML peuvent être convertis en PDF de manière transparente.
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
$vbLabelText $csharpLabel
Dans le contexte de notre sujet, imaginez un scénario dans lequel vous récupérez des données sur les élèves à partir d'un dictionnaire et souhaitez générer un rapport PDF. TryGetValue pourrait récupérer les données nécessaires efficacement, puis utiliser IronPDF pour créer le document PDF.
IronXL
Explorez IronXL pour les interactions Excel est une bibliothèque Excel pour C# et .NET. Il permet aux développeurs de lire, écrire et créer des fichiers Excel dans des applications .NET sans interopérabilité. Il est parfait pour les scénarios dans lesquels vous devez exporter ou importer des données à partir d'une feuille de calcul Excel.
À propos de TryGetValue, supposons que vous ayez un Dictionnaire où les clés représentent les ID de produits et les valeurs représentent leurs quantités. Vous pourriez utiliser TryGetValue pour récupérer la quantité d'un produit spécifique, puis utiliser IronXL pour mettre à jour cette quantité dans une feuille de calcul de gestion des stocks Excel.
IronOCR
Libérez la puissance d'IronOCR pour la reconnaissance de texte est une bibliothèque avancée de lecture OCR (reconnaissance optique de caractères) et de codes-barres pour .NET et C#. Il permet aux développeurs de lire du texte et des codes-barres à partir d'images et de PDF dans des applications .NET. Cela peut s'avérer particulièrement utile lorsque vous devez extraire des données de documents ou d'images numérisés et les utiliser dans votre code.
Prenons l'exemple d'un scénario dans lequel vous avez utilisé IronOCR pour extraire les identifiants des étudiants à partir de documents numérisés. Après le traitement, vous stockez les identifiants et les informations correspondantes sur les étudiants dans un dictionnaire. Lors de la récupération des détails d'un étudiant particulier, TryGetValue peut être utilisé pour extraire les données du dictionnaire de manière efficace.
IronBarcode
En savoir plus sur IronBarcode pour les solutions de codes-barres est une bibliothèque de lecture et d'écriture de codes-barres pour .NET. Avec IronBarcode, les développeurs peuvent générer et lire divers formats de codes-barres et de codes QR. C'est un outil puissant pour coder et décoder des données dans un format compact et lisible par une machine.
En pratique, imaginez que vous utilisiez des codes-barres pour stocker des informations sur les produits dans un système de vente au détail. Chaque code-barres pourrait correspondre à un numéro d'identification unique du produit, stocké sous forme de clé dans un dictionnaire. Lorsqu'un code-barres est scanné, vous pouvez utiliser TryGetValue pour récupérer et afficher rapidement les détails du produit associés à partir du dictionnaire.
Conclusion
Alors que nous avons exploré les fonctionnalités des bibliothèques Iron en conjonction avec des fonctionnalités standard de C# comme la méthode TryGetValue, il est clair que ces outils peuvent améliorer considérablement votre processus de développement. Que vous travailliez avec des PDF, des fichiers Excel, l'OCR ou des codes-barres, l'Iron Suite propose une solution adaptée à vos besoins.
Ce qui est encore plus attrayant, c'est que chacun de ces produits propose un essai gratuit des produits Iron Software, vous permettant d'explorer et d'expérimenter les fonctionnalités sans frais. Si vous décidez de continuer à utiliser les bibliothèques, la licence commence à partir de $749 pour chaque produit. Toutefois, si vous êtes intéressé par plusieurs bibliothèques Iron, vous pouvez acheter la suite complète Iron Suite au prix de deux produits individuels seulement.
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT Paramètres par défaut en C# (Comment ça marche pour les développeurs)
SUIVANT > C# Round (Comment ça marche pour les développeurs)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier