Types de données en C# : Double, Entier, Flottant, Char

⚡ Résumé intelligent

En C#, les types de données définissent le type de valeurs qu'une variable peut contenir, allant des entiers et des nombres à virgule flottante aux valeurs booléennes et aux chaînes de caractères, et ils déterminent la quantité de mémoire que chaque variable réserve pendant l'exécution du programme.

  • (I.e. Types entiers : Le mot-clé Int32 (int) stocke des nombres entiers tels que 10, 20 ou 30 dans une plage de mémoire fixe.
  • 🔣 Types à virgule flottante : Les types double et float contiennent des valeurs décimales, tandis que le type decimal offre une plus grande précision pour les calculs financiers.
  • ☑️ Type booléen : Le mot-clé booléen ne stocke que les valeurs vrai ou faux et pilote la logique conditionnelle.
  • 🔤 Types de texte : Le type char contient un seul caractère, tandis que le type string stocke une séquence de caractères sous forme de texte.
  • 🧩 Valeur vs référence : Les types valeur stockent directement les données, tandis que les types référence, tels que les chaînes de caractères, stockent une adresse mémoire.
  • 🤖 Aide à l'IA : GitHub Copilot et ML.NET apportent des suggestions de code et l'apprentissage automatique à la gestion des types en C#.

Types de données en C#

Que sont les types de données en C# ?

Le langage C# est livré avec un ensemble de types de données Basic. Ces types de données sont utilisés pour créer des valeurs utilisées dans une application. Explorons les types de données de base disponibles en C#. Pour chaque exemple, nous modifierons uniquement la fonction principale dans notre fichier Program.cs.

1) Entier

Les types de données Integer sont utilisés pour travailler avec des nombres. Dans ce cas, les nombres sont des nombres entiers comme 10, 20 ou 30. En C#, le type de données est désigné par le Mot-clé Int32. Vous trouverez ci-dessous un exemple de la façon dont ce type de données peut être utilisé. Dans notre exemple, nous définirons une variable Int32 appelée num. Nous attribuerons ensuite une valeur entière à la variable, puis l'afficherons en conséquence.

Types de données entiers en C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 { 
  static void Main(string[] args) 
  {
   Int32 num=30;
   Console.Write(num);  
   
   Console.ReadKey();
  }
 }
}

Code Explication:-

  1. Le type de données Int32 est spécifié pour déclarer une variable entière appelée num. La variable reçoit alors la valeur 30.
  2. Enfin la fonction console.write est utilisée pour afficher le numéro à la console.

Si le code ci-dessus est saisi correctement et que le programme est exécuté avec succès, la sortie suivante sera affichée.

Sortie :

Types de données entiers en C#

À partir de la sortie, vous pouvez clairement voir que la variable entière appelée num a été affichée dans la console

2) Double

Un type de données double est utilisé pour travailler avec des décimales. Dans ce cas, les nombres sont des nombres entiers comme 10.11, 20.22 ou 30.33. En C#, le type de données est désigné par le mot-clé «Double« . Vous trouverez ci-dessous un exemple de ce type de données.

Dans notre exemple, nous allons définir une variable double appelée num. Nous allons ensuite lui attribuer une Double valeur à la variable, puis affichez-la en conséquence.

Double Types de données en C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 { 
  static void Main(string[] args) 
  {
   double num=30.33;
   Console.Write(num); 
   
   Console.ReadKey();
  }
 }
}

Code Explication:-

  1. Le type de données double est spécifié pour déclarer un type double variable appelé num. La variable reçoit alors la valeur 30.33.
  2. Enfin la fonction console.write est utilisée pour afficher le numéro à la console.

Si le code ci-dessus est saisi correctement et que le programme est exécuté avec succès, la sortie suivante sera affichée.

Sortie :

Double Types de données en C#

Depuis la sortie, vous pouvez clairement voir que la double variable appelée num a été affichée dans la console

3) Booléen

Un type de données booléen est utilisé pour travailler avec des valeurs booléennes de vrai et faux. En C#, le type de données est désigné par le mot clé Boolean. Vous trouverez ci-dessous un exemple de ce type de données pouvant être utilisé.

Dans notre exemple, nous définirons une variable booléenne appelée « statut ». Nous attribuerons ensuite une valeur booléenne à la variable puis l'afficherons en conséquence.

Types de données booléens en C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
  { 
   static void Main(string[] args) 
   {
    Boolean status=true;
    Console.Write(status);
    
    Console.ReadKey();
   }
  }
}

Code Explication:-

  1. Le type de données booléen est spécifié pour déclarer une variable booléenne appelée « statut ». La variable se voit ensuite attribuer une valeur vrai/faux.
  2. Enfin la fonction console.write est utilisée pour afficher la valeur booléenne à la console.

Si le code ci-dessus est saisi correctement et que le programme est exécuté avec succès, la sortie sera affichée.

Sortie :

Types de données booléens en C#

À partir du résultat, vous pouvez clairement voir que la variable booléenne qui est égale à true a été affichée dans la console

4) Ficelle

Un type de données String est utilisé pour travailler avec des valeurs String. En C#, le type de données est désigné par le mot-clé « String ». Vous trouverez ci-dessous un exemple de ce type de données.

Dans notre exemple, nous définirons une variable String appelée « message ». Nous attribuerons ensuite une valeur String à la variable, puis l'afficherons en conséquence.

Types de données chaîne en C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class program
 {
  static void Main(string[] args)
  {
   String message="Hello";
   Console.Write(message);
   
   Console.ReadKey();
  }
 }
}

Code Explication:-

  1. Le type de données String est spécifié pour déclarer une variable chaîne appelée message. La variable se voit ensuite attribuer la valeur « Bonjour ».
  2. Enfin, la fonction console.write est utilisée pour afficher la valeur de la chaîne sur la console.

Si le code ci-dessus est saisi correctement et que le programme est exécuté avec succès, la sortie sera affichée.

Sortie :

Types de données chaîne en C#

À partir de la sortie, vous pouvez clairement voir que la variable String appelée message a été affichée dans la console

Liste complète des types de données C#

Les quatre exemples ci-dessus couvrent les types les plus courants, mais C# propose un ensemble complet de types de données valeur intégrés. Chaque type réserve une quantité fixe de mémoire et accepte une plage de valeurs spécifique ; choisir le type le plus petit compatible avec vos données permet donc de maintenir l’efficacité du programme.

Type de données Taille Gamme / Description CMS
octet Octets 1 0 à 255 ans, qui
court Octets 2 -32,768 à 32,767
int (Int32) Octets 4 -2,147,483,648 à 2,147,483,647
Long Octets 8 Très grands nombres entiers (±9.2 quintillions)
flotter Octets 4 Décimales avec une précision d'environ 6 à 7 chiffres
double Octets 8 Décimales avec une précision d'environ 15 à 16 chiffres
décimal Octets 16 Des décimales de haute précision (28 à 29 chiffres) pour l'argent
carboniser Octets 2 Un seul caractère Unicode
bool Octets 1 vrai ou faux

Outre ces types valeur, le type chaîne de caractères est le type référence le plus répandu et stocke une séquence de caractères de longueur quelconque. Le choix d'un type approprié permet d'éviter les erreurs de dépassement de capacité et une utilisation inutile de la mémoire.

Types valeur vs types référence en C#

En C#, chaque type de données appartient à l'une des deux catégories suivantes : les types valeur et les types référence. Cette distinction détermine la manière dont C# stocke les données et le comportement d'une variable lorsqu'on la copie ou qu'on la passe à une méthode.

  • Types de valeurs : Ces types stockent directement les données, généralement sur la pile. int, double, bool, char, enum`int` et `struct` sont des types valeur. L'affectation d'une variable à une autre copie sa valeur, de sorte que les deux variables restent indépendantes.
  • Types de références : Ces types stockent une référence (une adresse mémoire) pointant vers des données dans le tas. Les chaînes de caractères, les objets, les tableaux et les instances de classe sont des types référence. Copier une variable référence ne copie que son adresse ; les deux variables partagent donc le même objet.

Une variable de type valeur ne peut jamais être nulle car elle contient toujours une valeur, tandis qu'une variable de type référence non initialisée est par défaut nulle. Comprendre cette différence permet de prévoir comment les modifications de données sont traitées par un programme.

Conversion de type en C#

En C#, il est fréquent de devoir convertir une valeur d'un type de données à un autre, par exemple en transformant une saisie utilisateur, toujours du texte, en un nombre. Ce processus s'appelle la conversion de type et s'effectue principalement de trois manières.

  • Conversion implicite : Le compilateur effectue la conversion automatiquement lorsqu'il n'y a aucun risque de perte de données, par exemple lors de l'affectation d'un entier à un nombre à virgule flottante. Aucune syntaxe particulière n'est requise.
  • Conversion explicite (casting) : Vous placez le type cible entre parenthèses, par exemple (int)myDoubleLa conversion de type peut entraîner une perte de données — la conversion d'un double en int supprime la partie décimale — vous acceptez donc délibérément ce risque.
  • Méthodes auxiliaires : La classe Convert (Convert.ToInt32) et la méthode Parse de chaque type (int.Parse) transforment les chaînes de caractères en nombres, tandis que ToString transforme les valeurs en texte lisible.

Choisir la conversion appropriée permet de garantir l'exactitude des données et d'éviter les erreurs d'exécution lorsque les types de part et d'autre d'une affectation ne correspondent pas.

FAQ

Les types float, double et decimal stockent tous des nombres décimaux, mais diffèrent par leur précision et leur taille. float utilise 4 octets avec environ 7 chiffres, double utilise 8 octets avec environ 15 chiffres et decimal utilise 16 octets pour les valeurs financières de haute précision.

Il n'y a pas de réelle différence. `int` est un alias C# du type `System.Int32` de .NET ; par conséquent, `int` et `Int32` sont compilés de manière identique. La plupart des développeurs écrivent `int` par souci de concision, tandis que `Int32` explicite le type sous-jacent du framework.

Le type `string` est un type référence, car il stocke une référence à des données de caractères stockées dans le tas. Cependant, il se comporte comme un type valeur sur un point : les chaînes de caractères sont immuables, donc toute modification crée un nouvel objet `string` au lieu de modifier l’ancien.

Un type nullable permet à un type valeur comme int ou bool de contenir également la valeur nulle, notée avec un point d'interrogation à la fin, par exemple int?. Il est utile pour les données optionnelles et les champs de base de données, où une valeur manquante doit être représentée différemment de zéro ou de faux.

Un caractère (char) contient exactement un caractère Unicode et utilise des guillemets simples, comme 'A'. Une chaîne de caractères (string) contient une séquence de zéro ou plusieurs caractères et utilise des guillemets doubles. Un caractère est un type valeur, tandis qu'une chaîne de caractères est un type référence.

Le mot-clé `var` infère le type d'une variable à la compilation, et ce type est ensuite fixé avec une prise en charge complète d'IntelliSense. Le mot-clé `dynamic` reporte la vérification des types à l'exécution, de sorte que les erreurs de type n'apparaissent que pendant l'exécution. Utilisez `var` pour plus de sécurité et `dynamic` pour des scénarios flexibles avec une limite de type tardive.

Oui. GitHub Copilot suggère des déclarations de type, des conversions et du code standard dans Visual Studio et Visual Studio CodeIl peut recommander un type numérique approprié ou générer du code d'analyse, mais vous devez vérifier sa sortie, car les suggestions peuvent passer à côté de problèmes de précision ou de dépassement de capacité.

Oui. ML.NET associe les types de données C# aux caractéristiques du modèle, en utilisant des types numériques comme float et double pour les données d'entraînement et string pour le texte. Des classes de données fortement typées décrivent chaque colonne, ce qui permet aux modèles d'apprentissage automatique de s'intégrer naturellement aux applications C#.

Résumez cet article avec :