C#类型转换是指将一种数据类型的变量转换为另一种数据类型的变量。C#中有两种不同的类型转换:隐式转换和显式转换。
隐式转换是在不需要任何特定代码的情况下,由C#运行时执行的一种自动转换。它可以将小数据类型(如int)转换为大数据类型(如long)。例如:
int i = 10; long l = i; // 隐式转换
显式转换是在需要特定代码的情况下执行的一种显式转换。它可以将大数据类型(如long)转化为小数据类型(如int)。例如:
long l = 10; int i = (int)l; // 显式转化
此外,C#还允许使用as运算符来执行显式或隐式的对象之间的相互转化。as运算会尝试将对应对象之间进行相互装化并返回装化后的对应对象。例如:
object obj = 10; string str = obj as string; // str == null
类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型转换有两种形式:
隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换。例如,从小的整数类型(int)转换为大的整数类型(long),从派生类转换为基类。
显式类型转换 - 这些转换是通过用户使用预定义的函数显式完成的。显式转换需要强制转换运算符。
下面的实例显示了一个显式的类型转换:
using System; namespace TypeConversionApplication{ class ExplicitConversion{ static void Main(string[] args){ double d = 5673.74; int i; // 强制转换 double 为 int i = (int)d; Console.WriteLine(i); Console.ReadKey(); } } }
当上面的代码被编译和执行时,它会产生下列结果:
5673
C# 提供了下列内置的类型转换方法:
序号 | 方法 & 描述 |
---|---|
1 | ToBoolean 把类型转换为布尔型(如果可以转换的话) |
2 | ToByte 把类型转换为字节类型。 |
3 | ToChar 把类型转换为单个 Unicode 字符类型(如果可以转换的话) |
4 | ToDateTime 把类型(整数或字符串类型)转换为 日期-时间 结构。 |
5 | ToDecimal 把浮点型或整数类型转换为十进制类型。 |
6 | ToDouble 把类型转换为双精度浮点型。 |
7 | ToInt16 把类型转换为 16 位整数类型。 |
8 | ToInt32 把类型转换为 32 位整数类型。 |
9 | ToInt64 把类型转换为 64 位整数类型。 |
10 | ToSbyte 把类型转换为有符号字节类型。 |
11 | ToSingle 把类型转换为小浮点数类型。 |
12 | ToString 把类型转换为字符串类型。 |
13 | ToType 把类型转换为指定类型。 |
14 | ToUInt16 把类型转换为 16 位无符号整数类型。 |
15 | ToUInt32 把类型转换为 32 位无符号整数类型。 |
16 | ToUInt64 把类型转换为 64 位无符号整数类型。 |
下面的实例把不同值的类型转换为字符串类型:
using System; namespace TypeConversionApplication{ class StringConversion{ static void Main(string[] args){ int i = 75; float f = 53.005f; double d = 2345.7652; bool b = true; Console.WriteLine(i.ToString()); Console.WriteLine(f.ToString()); Console.WriteLine(d.ToString()); Console.WriteLine(b.ToString()); Console.ReadKey(); } } }
当上面的代码被编译和执行时,它会产生下列结果:
75 53.005 2345.7652 True
类型之间的转换方法 - Convert 和 Parse
string locstr = 123.ToString(); //如果要将"locstr"转成整型数 //方法一: 用 Convert int i = Convert.ToInt16(locstr); //方法二: 用 Parse int ii = int.Parse(locstr);
C# 判断一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。语法C# 中 if 语句的语法:if(boolean_expression){ }//后续代码...
本文将为大家带来使用C#递归算法来计算阶乘的方法,通过一个简单实例来说明,供大家参考。循环实现一般来说,想要实现一个阶乘,...
事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些出现,如系统生成的通知。应用程序需要在事件发...