C# 类型转换
C#类型转换
在本教程中,我们将通过示例了解 C# 类型转换及其类型。
将一种类型(int、float、double等)的值转换为另一种类型的过程称为类型转换。
在 C# 中,类型转换有两种基本类型:
- 隐式类型转换
- 显式类型转换
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
在上面的例子中,
- Convert.ToString(a) - 转换
int
输入 num 到string
- Convert.ToDouble(a) - 转换 num 到
Double
输入
示例:将字符串转换为 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
在上面的例子中,
- Convert.ToDouble(str) - 转换一个
string
输入 str 到Double
- Convert.ToString(num) - 转换
double
输入 num 到string
示例 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
在上面的例子中,我们创建了两个整数变量:num1
和 num2
值为 0 和1 分别。在这里,
- Convert.ToBoolean(num1) - 转换 0 到
Boolean
值False
- Convert.ToBoolean(num2) - 转换 1 到
Boolean
值True
注意 :在 C# 中,整数值 0 被认为是 False
并且所有其他值都被视为 True
.
C语言