当前位置: 代码迷 >> 综合 >> C#开发之——类型转换方法(4.8)
  详细解决方案

C#开发之——类型转换方法(4.8)

热度:36   发布时间:2024-01-30 17:15:28.0

一 概述

本文介绍数据类型转换中常用的方法

  • Parse(字符串类型方法)
  • Convert(数据类型转换)
  • 装箱和拆箱(值类型和引用类型)

二 Parse(字符串类型方法)

2.1 概念

  • C# Parse方法用于将字符串类型转换成任意类型,具体的语法形式如下

    复制
    1 
    数据类型 变量二数据类型.Parse(字符串类型的值); 
  • 这里要求等号左、右两边的数据类型兼容

2.2 实例 在 Main 方法中从控制台输入 3 个数,并将其中的最大数输出

复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
class Program {static void Main(string[] args){Console.WriteLine("请输入三个数字");int num1 = int.Parse(Console.ReadLine());int num2 = int.Parse(Console.ReadLine());int num3 = int.Parse(Console.ReadLine());int maxvalue = num1;if (num2 > maxvalue){maxvalue = num2;}if (num3 > maxvalue){maxvalue = num3;}Console.WriteLine("三个数中最大的值是:" + maxvalue);} } 

2.3 总结

在上面的实例中使用Parse方法将字符串类型转换成整数类型int,但输入的字符串必须是数字并且不能超出int类型的取值范围

三 Convert(数据类型转换)

3.1 概念

  • C# Convert方法是数据类型中最灵活的方法,它能够将任意数据类型的值转换成任意数据类型,前提是不要超出指定数据类型的范围,具体的语法形式如下

    复制
    1 
    数据类型 变量名 = convert.To数据类型(变量名); 
  • 这里Convert.To后面的数据类型要与等号左边的数据类型相匹配

3.2 常见的转换方法

方法 说明
Convert.ToInt16() 转换为整型(short)
Convert.ToInt32() 转换为整型(int)
Convert.ToInt64() 转化为整型(long)
Convert.ToChar() 转换为字符型(char)
Convert.ToString() 转化为字符串型(string)
Convert.ToDateTime() 转换为日期型(datetime)
Convert.ToDouble() 转化为双精度浮点型(double)
Convert.ToSingle() 转换为单精度浮点型(float)
  • 对于整型和浮点型的强制数据类型操作也可以使用Convert方法代替,但是依然会损失存储范围大的数据类型的精度

3.3 实例 使用 Convert 方法将分别将一个浮点型数据转换成整型和字符串型

复制
1 2 3 4 5 6 7 8 9 10 11 12 13 
class Program {static void Main(string[] args){float num1 = 82.26f;int integer;string str;integer = Convert.ToInt32(num1);str = Convert.ToString(num1);Console.WriteLine("转换为整型数据的值{0}", integer);Console.WriteLine("转换为字符串{0},",str);} } 

四 装箱和拆箱(值类型和引用类型)

4.1 概念

  • C# ToString方法用于将任意的数据类型转换成字符串类型,例如将整数类型转换成字符串类型,这样整型变量a即可被转换成字符串类型

    复制
    1 2 
    int a=100; string str=a.ToString(); 
  • 在C#语言中数据类型分为值类型和引用类型,将值类型转换为引用类型的操作称为装箱,相应地将引用类型转换成值类型的称为拆箱

  • 在上面的转换中int类型是值类型,而string类型是引用类型,当将值类型变量a的值转换成引用变量str时就是一个装箱的操作,而拆箱操作则是将引用类型变量str的值再转换成整型的过程,转换的代码如下,这样就完成了一个简单的装箱和拆箱操作

    复制
    1 
    a=int.Parse(str); 

4.2 实例 利用装箱和拆箱功能,可通过允许值类型的任何值与 Object 类型的值相互转换,将值类型与引用类型链接起来

复制
1 2 3 4 5 6 7 
int val = 100; object obj = val; Console.WriteLine("对象的值={0}",obj); //这是一个装箱的过程,是将值类型转换为引用类型的过程 int num = (int)obj; Console.WriteLine("num:{0}",num); //这是一个拆箱的过程,是将值类型转换为引用类型,再由引用类型转换为值类型的过程 
  相关解决方案