Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Conversion de types C#

Conversion de types C#

Dans ce tutoriel, nous allons découvrir la conversion de type C# et ses types à l'aide d'exemples.

Le processus de conversion de la valeur d'un type (int, float, double, etc.) en un autre type est appelé conversion de type.

En C#, il existe deux types de base de conversion de type :

  1. Conversions de type implicites
  2. Conversions de types explicites

1. Conversion de type implicite en C#

Dans la conversion de type implicite, le compilateur C# convertit automatiquement un type en un autre.

Généralement, des types plus petits comme int (ayant moins de taille de mémoire) sont automatiquement convertis en types plus grands comme double (ayant une plus grande taille de mémoire).

Exemple :Conversion de type implicite

using System;

namespace MyApplication {
  class Program {
    static void Main(string[] args) {
      int numInt = 500;

      // get type of numInt
      Type n = numInt.GetType();

      // Implicit Conversion
      double numDouble = numInt;

      // get type of numDouble
      Type n1 = numDouble.GetType();

      // Value before conversion
      Console.WriteLine("numInt value: "+numInt);
      Console.WriteLine("numInt Type: " + n);

      // Value after conversion
      Console.WriteLine("numDouble value: "+numDouble);
      Console.WriteLine("numDouble Type: " + n1);
      Console.ReadLine();
    }
  }
}

Sortie

numInt value: 500
numInt Type: System.Int32
numDouble value: 500
numDouble Type: System.Double

Dans l'exemple ci-dessus, nous avons créé un int variable de type nommée numInt .

Remarquez la ligne,

// Implicit Conversion
double numDouble = numInt;

Ici, nous attribuons le int type variable à un double variable de type. Dans ce cas, le compilateur C# convertit automatiquement le int tapez la valeur à double .

Notez que nous avons utilisé le GetType() méthode pour vérifier le type de numInt et numDouble variable.

Remarque :Dans la conversion de type implicite, les types plus petits sont convertis en types plus grands. Par conséquent, il n'y a aucune perte de données lors de la conversion.

2. Conversion de type explicite C#

Dans la conversion de type explicite, nous convertissons explicitement un type en un autre.

Généralement, des types plus grands comme double (ayant une grande taille de mémoire) sont convertis en types plus petits comme int (ayant une petite taille de mémoire).

Exemple :conversion de type explicite

using System;

namespace MyApplication {
  class Program {
    static void Main(string[] args) {

      double numDouble = 1.23;

      // Explicit casting
      int numInt = (int) numDouble;  

      // Value before conversion
      Console.WriteLine("Original double Value: "+numDouble);

      // Value before conversion
      Console.WriteLine("Converted int Value: "+numInt);
      Console.ReadLine();
    }
  }
}

Sortie

Original double value: 1.23
Converted int value: 1

Dans l'exemple ci-dessus, nous avons créé un double variable nommée numDouble . Remarquez la ligne,

// Explicit casting
int numInt = (int) numDouble;

Ici, (int) est une expression de transtypage qui convertit explicitement le double taper à int saisir.

Nous pouvons voir que la valeur d'origine est 1,23 alors que la valeur convertie est 1 . Ici, certaines données sont perdues lors de la conversion de type. C'est parce que nous convertissons explicitement le type de données plus grand double à un type plus petit int .

Remarque  :La conversion de type explicite est également appelée conversion de type.

Conversion de type C# à l'aide de Parse()

En C#, on peut aussi utiliser le Parse() méthode pour effectuer la conversion de type.

Généralement, lors de la conversion de type entre des types non compatibles comme int et string , nous utilisons Parse() .

Exemple :Conversion de type à l'aide de Parse()

using System;

namespace Conversion {
  class Program {
   
    static void Main(string[] args) {

      string n = "100";

      // converting string to int type
      int a = int.Parse(n);
      Console.WriteLine("Original string value: "+n);
      Console.WriteLine("Converted int value: "+a);
      Console.ReadLine();
    }
  }
}

Sortie

Original string value: 100
Converted int value: 100

Dans l'exemple ci-dessus, nous avons converti un string tapez un int saisir.

// converting string to int type
int a = int.Parse(n);

Ici, le Parse() la méthode convertit la chaîne numérique 100 à une valeur entière.

Remarque :Nous ne pouvons pas utiliser Parse() pour convertir une chaîne textuelle comme "test" en un int . Par exemple,

String str = "test";
int a = int.Parse(str);   // Error Code

Conversion de type C# à l'aide de la classe Convert

En C#, on peut utiliser le Convert classe pour effectuer la conversion de type. Le Convert fournit diverses méthodes pour convertir un type en un autre.

Méthode Description
ToBoolean() convertit un type en Boolean valeur
ToChar() convertit un type en char taper
ToDouble() convertit un type en double taper
ToInt16() convertit un type en un int 16 bits taper
ToString() convertit un type en string

Prenons quelques exemples :

Exemple :Convertir int en chaîne et Double

using System;

using System;
namespace Conversion {
  class Program {
    static void Main(string[] args) {

      // create int variable
      int num = 100;
      Console.WriteLine("int value: " + num);

      // convert int to string
      string str = Convert.ToString(num);
      Console.WriteLine("string value: " + str);

      // convert int to Double
      Double doubleNum = Convert.ToDouble(num);
      Console.WriteLine("Double value: " + doubleNum);

      Console.ReadLine();
    }
  }
}

Sortie

int value: 100
string value: 100
Double value: 100

Dans l'exemple ci-dessus,

  • Convert.ToString(a) - convertit un int tapez num à string
  • Convert.ToDouble(a) - convertit nombre au Double taper

Exemple :Convertir une chaîne en Double et vice-versa

using System;

namespace Conversion {
  class Program {
    static void Main(string[] args) {

      // create string variable
      string str = "99.99";
      Console.WriteLine("Original string value: " + str);

      // convert string to double
      Double newDouble = Convert.ToDouble(str);
      Console.WriteLine("Converted Double value: " + newDouble);

      // create double variable
      double num = 88.9;
      Console.WriteLine("Original double value: " + num);

      // converting double to string 
      string newString = Convert.ToString(num);
      Console.WriteLine("Converted string value: " + newString);

      Console.ReadLine();
    }
  }
}

Sortie

Original string value: 99.99
Converted Double value: 99.99
Original double value: 88.9
Converted string value: 88.9

Dans l'exemple ci-dessus,

  • Convert.ToDouble(str) - convertit un string tapez chaîne à Double
  • Convert.ToString(num) - convertit un double tapez num au string

Exemple 3 :Convertir int en booléen

using System;

namespace Conversion {
  class Program {
    static void Main(string[] args) {

      // create int variables
      int num1 = 0;
      int num2 = 1;

      // convert int to Boolean
      Boolean bool1 = Convert.ToBoolean(num1);
      Boolean bool2 = Convert.ToBoolean(num2);

      Console.WriteLine("Boolean value of 0 is: " + bool1);
      Console.WriteLine("Boolean value of 1 is: " + bool2);

      Console.ReadLine();
    }
  }
}

Sortie

Boolean value of 0 is: False
Boolean value of 1 is: True

Dans l'exemple ci-dessus, nous avons créé deux variables entières :num1 et num2 avec des valeurs 0 et 1 respectivement. Ici,

  • Convert.ToBoolean(num1) - convertit 0 à un Boolean valeur False
  • Convert.ToBoolean(num2) - convertit 1 à un Boolean valeur True

Remarque :En C#, la valeur entière 0 est considéré False et toutes les autres valeurs sont considérées True .


Langue C

  1. Conversion de type Python et conversion de type
  2. Nombres Python, conversion de type et mathématiques
  3. Casting de type Java
  4. Java - Génériques
  5. ASTM A1018 Grade CS Type B
  6. ASTM A424 Grade Type II
  7. ASTM A424 Grade Type I
  8. ASTM A792 Grade CS Type A
  9. ASTM A53 Grade A Type E