.NET中三种数据类型转换的区别:(type), type.Parse, Convert类

.NET为我们提供了三种数据类型类转换的方法,她们分别是:(typeName),此方法适合于类型,type.Parse, 此方法只适于类.NET中的数字类型,还有一种就是使用 Convert 类型来进行类型转换。

我看来看看这三种数据类型转换的区别,还是用程序来说明吧:

using System;

public class TypeCast
{
    
public static void Main( )
    
{
        
object obj1 = 1;     // 由整数装箱成一个对象类型
        object obj2 = "1";   // obj2 引用一个字符串对象
        
        
// 没有错误
        int int1 = (int)obj1;
        
        
// 下面这一行引发 InvaildCastException 异常, 无法将 obj2 的值转换成整型
        
// 此时我们可以使用 Convert.ToInt32 方法来进行转换,在这里不能使用 int.Parse 方法
        
// 因为 int.Parse 方法只接受一个 string 类型的参数
        int int2 = (int)obj2;
        
        
// 下面一行也将引发 InvaildCastException 的异常, 无法将 obj1 的值转换成 string 类型
        
// 在这里可以使用 Convert.ToString 方法或者使用 obj1.ToString 方法
        string str1 = (string)obj1;
        
        
// 这一行是正确的
        string str2 = (string)obj2;
    }
 
}

还有一种情况就是,当把数据转换成数字类型时,如果被转换的数据为 null, 使用 (typeName), 和 type.Parse 这两种方法都会出错, 而使用 Convert 方法会返回一个 0.

文章出处:我的网站

原文地址:https://www.cnblogs.com/kuku/p/73068.html