亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C# 类型转换

C#类型转换

在本教程中,我们将通过示例了解 C# 类型转换及其类型。

将一种类型(int、float、double等)的值转换为另一种类型的过程称为类型转换。

在 C# 中,类型转换有两种基本类型:

  1. 隐式类型转换
  2. 显式类型转换

1。 C# 中的隐式类型转换

在隐式类型转换中,C# 编译器会自动将一种类型转换为另一种类型。

通常,较小的类型,如 int (内存较小)会自动转换为较大的类型,例如 double (具有更大的内存大小)。

示例:隐式类型转换

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

输出

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

在上面的例子中,我们创建了一个 int 名为 numInt 的类型变量 .

注意这一行,

// Implicit Conversion
double numDouble = numInt;

在这里,我们分配 int 类型变量到 double 类型变量。在这种情况下,C# 编译器会自动将 int 将值键入 double .

请注意,我们使用了 GetType() 检查numInt类型的方法 和 numDouble 变量。

注意 :在隐式类型转换中,较小的类型被转换为较大的类型。因此,在转换过程中不会丢失数据。


2. C# 显式类型转换

在显式类型转换中,我们显式地将一种类型转换为另一种类型。

通常,较大的类型,如 double (具有大内存大小)被转换为较小的类型,如 int (内存小)。

示例:显式类型转换

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

输出

Original double value: 1.23
Converted int value: 1

在上面的例子中,我们创建了一个 double 名为 numDouble 的变量 .注意这一行,

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

这里,(int) 是一个强制转换表达式 显式转换 double 键入 int 输入。

我们可以看到原始值为1.23 而转换后的值为 1 .在这里,在类型转换过程中会丢失一些数据。这是因为我们显式转换了较大的数据类型 double 到更小的类型 int .

注意 :显式类型转换也称为类型转换。


使用 Parse() 进行 C# 类型转换

在 C# 中,我们也可以使用 Parse() 进行类型转换的方法。

一般情况下,在int等不兼容类型之间进行类型转换时 和 string ,我们使用 Parse() .

示例:使用 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();
    }
  }
}

输出

Original string value: 100
Converted int value: 100

在上面的例子中,我们转换了一个 string 键入 int 输入。

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

这里,Parse() 方法转换数字字符串 100 为整数值。

注意 :我们不能使用 Parse() 将文本字符串(如“test”)转换为 int .例如,

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

使用 Convert Class 进行 C# 类型转换

在 C# 中,我们可以使用 Convert 类来执行类型转换。 Convert 类提供了多种方法将一种类型转换为另一种类型。

方法 说明
ToBoolean() 将类型转换为 Boolean 价值
ToChar() 将类型转换为 char 类型
ToDouble() 将类型转换为 double 类型
ToInt16() 将类型转换为 16 位 int 类型
ToString() 将类型转换为 string

让我们看一些例子:

示例:将 int 转换为 String 和 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();
    }
  }
}

输出

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

在上面的例子中,


示例:将字符串转换为 Double,反之亦然

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

输出

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

在上面的例子中,


示例 3:将 int 转换为 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();
    }
  }
}

输出

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

在上面的例子中,我们创建了两个整数变量:num1num2 值为 01 分别。在这里,

注意 :在 C# 中,整数值 0 被认为是 False 并且所有其他值都被视为 True .


C语言

  1. Python 类型转换和类型转换
  2. Python 数字、类型转换和数学
  3. Java 类型转换
  4. Java - 泛型
  5. ASTM A1018 等级 CS B 型
  6. ASTM A424 II 级
  7. ASTM A424 等级 I
  8. ASTM A792 等级 CS A 型
  9. ASTM A53 A 级 E 型
  10. ASTM A53 A 级 S 型
  11. ASTM A792 等级 CS C 型
  12. ASTM A653 等级 CS A 型