AIDE .NET

Parse String to Int C# (How It Works For Developers)

Publié juin 6, 2024
Partager:

Conversion des types de données est un concept fondamental en programmation, et lorsque l'on programme en C#, l'une des tâches les plus courantes consiste à convertir la représentation d'un nombre par une chaîne de caractères en un nombre entier. Ce processus est utile dans de nombreuses applications où les données entrées par l'utilisateur ou provenant d'une source externe doivent être transformées dans un format numérique pour des calculs ou d'autres opérations.

Dans ce tutoriel, nous allons explorer les différentes méthodes fournies par C# pour convertir des chaînes de caractères en nombres entiers. Nous explorerons également les Bibliothèque IronPDF.

Les bases de la conversion des variables de type chaîne en Int

Les méthodes Convert.ToInt32 et Int32.Parse sont des outils standard en C# pour convertir une chaîne de caractères en une valeur entière. Ces fonctions sont conçues pour interpréter la valeur numérique d'une chaîne de caractères et la transformer en un nombre entier. Cependant, ces méthodes peuvent lever des exceptions si la chaîne n'est pas au bon format, ce qui fait de la gestion des exceptions un aspect essentiel de l'utilisation de ces outils.

Utilisation de la méthode Int32.Parse (en anglais)

La méthode Int32.Parse convertit directement une chaîne numérique valide en un entier. Il faut que la chaîne soit dans un format numérique valide ; sinon, il lancera une FormatException. Cette méthode est simple lorsque vous êtes sûr que la chaîne de caractères est un nombre valide. Par exemple :

public static string inputString = "123";
public static int result = int.Parse(inputString);
Console.WriteLine(result);
public static string inputString = "123";
public static int result = int.Parse(inputString);
Console.WriteLine(result);
Public Shared inputString As String = "123"
Public Shared result As Integer = Integer.Parse(inputString)
Console.WriteLine(result)
VB   C#

Dans le code ci-dessus, inputString contient un nombre valide, et la méthode Parse le convertit en l'entier 123. Cependant, si inputString contient des caractères non numériques ou est une chaîne vide, l'utilisation de Parse entraînera une FormatException ou une ArgumentNullException.

Utilisation de la méthode Convert.ToInt32 (Conversion.ToInt32)

Une autre classe de conversion pour convertir une chaîne de caractères en un entier est Convert.ToInt32. Cette méthode est similaire à Int32.Parse mais offre un peu plus de flexibilité. Comprendre comment convertir une chaîne de caractères en int dans C# ouvre efficacement de nombreuses possibilités de manipulation des données et garantit la robustesse des performances de l'application. Il gère les chaînes nulles et vides en renvoyant une valeur par défaut de zéro, ce qui évite de lancer une exception. Voici comment vous pouvez l'utiliser :

public static string inputString = null;
public static int result = Convert.ToInt32(inputString);
Console.WriteLine(result);
public static string inputString = null;
public static int result = Convert.ToInt32(inputString);
Console.WriteLine(result);
Public Shared inputString As String = Nothing
Public Shared result As Integer = Convert.ToInt32(inputString)
Console.WriteLine(result)
VB   C#

Cette méthode convertira inputString en 0 sans lever d'exception, ce qui est plus sûr pour les variables qui pourraient ne pas être correctement initialisées.

Techniques avancées avec Int32.TryParse (en anglais)

Pour un meilleur contrôle du processus de conversion, en particulier lorsqu'il s'agit d'une entrée utilisateur qui peut ne pas être fiable, Int32.TryParse est une méthode préférée. Cette méthode tente d'analyser des chaînes numériques et renvoie une valeur booléenne indiquant si la méthode TryParse a réussi à convertir la chaîne en un nombre entier. Il utilise un paramètre out pour renvoyer l'entier converti.

Exemple d'utilisation de Int32.TryParse

Voici comment vous pouvez utiliser la méthode Int32.TryParse pour convertir en toute sécurité une chaîne de caractères en une valeur entière, en gérant de manière élégante toute chaîne de caractères invalide :

string inputString = "abc123";
int num;
bool conversionSucceeded = int.TryParse(inputString, out num);
if (conversionSucceeded)
{
    Console.WriteLine("Successfully parsed: " + num);
}
else
{
    Console.WriteLine("Conversion failed. Provided string is not a valid integer.");
}
string inputString = "abc123";
int num;
bool conversionSucceeded = int.TryParse(inputString, out num);
if (conversionSucceeded)
{
    Console.WriteLine("Successfully parsed: " + num);
}
else
{
    Console.WriteLine("Conversion failed. Provided string is not a valid integer.");
}
Dim inputString As String = "abc123"
Dim num As Integer = Nothing
Dim conversionSucceeded As Boolean = Integer.TryParse(inputString, num)
If conversionSucceeded Then
	Console.WriteLine("Successfully parsed: " & num)
Else
	Console.WriteLine("Conversion failed. Provided string is not a valid integer.")
End If
VB   C#

Dans cet exemple, Int32.TryParse renvoie false car inputString n'est pas un entier valide. Le paramètre de sortie num reste 0, et le programme informe l'utilisateur de l'échec de la conversion sans lancer d'exception.

Introduction de la bibliothèque IronPDF

IronPDF est une bibliothèque C# robuste conçue pour simplifier la manipulation des PDF pour les développeurs utilisant le Framework .NET. Il permet la création, l'édition et la gestion de Documents PDF directement à partir de HTML, CSS, JavaScript et images. La principale caractéristique d'IronPDF est sa capacité à convertir du contenu HTML directement en PDF.

Il peut notamment convertir des pages web entières ou des chaînes HTML, ce qui lui confère une grande souplesse. IronPDF est conçu pour être à la fois puissant et facile à intégrer, avec la prise en charge d'une variété d'environnements de développement.

Exemple de code

Voici un exemple simple qui combine IronPDF pour la génération de PDF avec du code C# pour analyser une chaîne de caractères en un nombre entier et l'afficher dans le PDF. Cet exemple suppose que vous voulez prendre une chaîne numérique, la convertir en un entier, puis imprimer l'entier dans un document PDF à l'aide d'IronPDF.

using IronPdf;
using System;
class Program
{
    static void Main(string[] args)
    {
        License.LicenseKey = "Your-License-Key";
        // Create a new PDF document
        var pdf = new ChromePdfRenderer();
        // Sample string that represents an integer
        string numberString = "12345";
        // Parse the string into an integer
        int number;
        bool result = Int32.TryParse(numberString, out number);
        if (result)
        {
            // Create HTML content including the parsed number
            string htmlContent = $"<h1>The number is: {number}</h1>";
            // Generate a PDF from the HTML string
            var document = pdf.RenderHtmlAsPdf(htmlContent);
            // Save the PDF to a file
            document.SaveAs("Output.pdf");
            Console.WriteLine("PDF generated successfully with the number included.");
        }
        else
        {
            Console.WriteLine("The string could not be parsed into an integer.");
        }
    }
}
using IronPdf;
using System;
class Program
{
    static void Main(string[] args)
    {
        License.LicenseKey = "Your-License-Key";
        // Create a new PDF document
        var pdf = new ChromePdfRenderer();
        // Sample string that represents an integer
        string numberString = "12345";
        // Parse the string into an integer
        int number;
        bool result = Int32.TryParse(numberString, out number);
        if (result)
        {
            // Create HTML content including the parsed number
            string htmlContent = $"<h1>The number is: {number}</h1>";
            // Generate a PDF from the HTML string
            var document = pdf.RenderHtmlAsPdf(htmlContent);
            // Save the PDF to a file
            document.SaveAs("Output.pdf");
            Console.WriteLine("PDF generated successfully with the number included.");
        }
        else
        {
            Console.WriteLine("The string could not be parsed into an integer.");
        }
    }
}
Imports IronPdf
Imports System
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		License.LicenseKey = "Your-License-Key"
		' Create a new PDF document
		Dim pdf = New ChromePdfRenderer()
		' Sample string that represents an integer
		Dim numberString As String = "12345"
		' Parse the string into an integer
		Dim number As Integer = Nothing
		Dim result As Boolean = Int32.TryParse(numberString, number)
		If result Then
			' Create HTML content including the parsed number
			Dim htmlContent As String = $"<h1>The number is: {number}</h1>"
			' Generate a PDF from the HTML string
			Dim document = pdf.RenderHtmlAsPdf(htmlContent)
			' Save the PDF to a file
			document.SaveAs("Output.pdf")
			Console.WriteLine("PDF generated successfully with the number included.")
		Else
			Console.WriteLine("The string could not be parsed into an integer.")
		End If
	End Sub
End Class
VB   C#

Analyse d'une chaîne de caractères en Int C# (Comment cela fonctionne-t-il pour les développeurs ?) : Figure 1 - PDF produit à partir de l'exemple de code précédent

Conclusion

La conversion de chaînes de caractères en nombres entiers est une exigence courante dans la programmation C#, en particulier lorsqu'il s'agit de données saisies par des utilisateurs ou des sources externes. Comprendre les différences entre les méthodes Int32.Parse, Convert.ToInt32 et TryParse est essentiel pour écrire un code robuste et résistant aux erreurs.

En utilisant ces méthodes de manière efficace, vous pouvez vous assurer que vos applications peuvent gérer différents formats d'entrée et répondre de manière élégante aux données non valides. IronPDF pour que les utilisateurs puissent explorer ses caractéristiques avant de s'engager dans un achat. Pour ceux qui cherchent à intégrer IronPDF dans leurs projets à long terme, octroi de licences commence à partir de $749.

< PRÉCÉDENT
Exemple de Rebus .NET Core (Comment ça marche pour les développeurs)
SUIVANT >
Constructeur de base d'appel C# (Comment ça marche pour les développeurs)