Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C# Type conversie

Conversie van C#-type

In deze zelfstudie leren we over de conversie van het C#-type en de typen ervan aan de hand van voorbeelden.

Het proces van het converteren van de waarde van het ene type (int, float, double, etc.) naar een ander type staat bekend als typeconversie.

In C# zijn er twee basistypen typeconversie:

  1. Impliciete typeconversies
  2. Expliciete typeconversies

1. Impliciete typeconversie in C#

Bij impliciete typeconversie converteert de C#-compiler automatisch het ene type naar het andere.

Over het algemeen kleinere typen zoals int (met minder geheugen) worden automatisch geconverteerd naar grotere typen zoals double (met een grotere geheugengrootte).

Voorbeeld:impliciete typeconversie

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();
    }
  }
}

Uitvoer

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

In het bovenstaande voorbeeld hebben we een int . gemaakt type variabele genaamd numInt .

Let op de lijn,

// Implicit Conversion
double numDouble = numInt;

Hier wijzen we de int . toe typ variabele naar een double variabele typen. In dit geval converteert de C#-compiler automatisch de int typ waarde in double .

Merk op dat we de GetType() . hebben gebruikt methode om het type numInt . te controleren en numDouble variabelen.

Opmerking :Bij impliciete typeconversie worden kleinere typen geconverteerd naar grotere typen. Er is dus geen verlies van gegevens tijdens de conversie.


2. C# Expliciete Type Conversie

Bij expliciete typeconversie converteren we expliciet het ene type naar het andere.

Over het algemeen grotere typen zoals double (met een groot geheugen) worden geconverteerd naar kleinere typen zoals int (met een kleine geheugengrootte).

Voorbeeld:expliciete typeconversie

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();
    }
  }
}

Uitvoer

Original double value: 1.23
Converted int value: 1

In het bovenstaande voorbeeld hebben we een double . gemaakt variabele genaamd numDouble . Let op de lijn,

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

Hier, (int) is een gecaste uitdrukking dat expliciet de double . converteert typ naar int typ.

We kunnen zien dat de oorspronkelijke waarde 1,23 . is terwijl de omgerekende waarde 1 . is . Hier gaan enkele gegevens verloren tijdens de typeconversie. Dit komt omdat we expliciet het grotere gegevenstype double . converteren naar een kleiner type int .

Opmerking :De expliciete typeconversie wordt ook typecasting genoemd.


C# Type Conversie met Parse()

In C# kunnen we ook de Parse() . gebruiken methode om typeconversie uit te voeren.

Over het algemeen geldt dat tijdens het uitvoeren van typeconversie tussen niet-compatibele typen zoals int en string , we gebruiken Parse() .

Voorbeeld:Type Conversie met 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();
    }
  }
}

Uitvoer

Original string value: 100
Converted int value: 100

In het bovenstaande voorbeeld hebben we een string . geconverteerd typ naar een int typ.

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

Hier, de Parse() methode converteert de numerieke tekenreeks 100 naar een geheel getal.

Opmerking :We kunnen Parse() niet gebruiken om een ​​tekstuele string zoals "test" te converteren naar een int . Bijvoorbeeld,

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

C# Type Conversie met Convert Class

In C# kunnen we de Convert . gebruiken class om typeconversie uit te voeren. De Convert class biedt verschillende methoden om het ene type naar het andere te converteren.

Methode Beschrijving
ToBoolean() converteert een type naar een Boolean waarde
ToChar() converteert een type naar een char typ
ToDouble() converteert een type naar een double typ
ToInt16() converteert een type naar een 16-bits int typ
ToString() converteert een type naar een string

Laten we eens kijken naar enkele voorbeelden:

Voorbeeld:converteer int naar String en 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();
    }
  }
}

Uitvoer

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

In het bovenstaande voorbeeld,

  • Convert.ToString(a) - converteert een int typ num tot string
  • Convert.ToDouble(a) - converteert num naar de Double typ

Voorbeeld:tekenreeks converteren naar Double en 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();
    }
  }
}

Uitvoer

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

In het bovenstaande voorbeeld,

  • Convert.ToDouble(str) - converteert een string typ str tot Double
  • Convert.ToString(num) - converteert een double typ num naar de string

Voorbeeld 3:converteer int naar Boolean

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();
    }
  }
}

Uitvoer

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

In het bovenstaande voorbeeld hebben we twee integer-variabelen gemaakt:num1 en num2 met waarden 0 en 1 respectievelijk. Hier,

  • Convert.ToBoolean(num1) - converteert 0 naar een Boolean waarde False
  • Convert.ToBoolean(num2) - converteert 1 naar een Boolean waarde True

Opmerking :In C#, de integerwaarde 0 wordt beschouwd als False en alle andere waarden worden beschouwd als True .


C Taal

  1. Python Type Conversie en Type Casting
  2. Python-nummers, typeconversie en wiskunde
  3. Java Type Casting
  4. Java - Algemeen
  5. ASTM A1018 Rang CS Type B
  6. ASTM A424 Rang Type II
  7. ASTM A424 Rang Type I
  8. ASTM A792 Rang CS Type A
  9. ASTM A53 klasse A Type E
  10. ASTM A53 klasse A Type S
  11. ASTM A792 Rang CS Type C