• .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.

    文章出处:我的网站

  • 相关阅读:
    Leetcode: Total Hamming Distance
    Leetcode: Hamming Distance
    Leetcode: Valid Word Square
    Leetcode: Sentence Screen Fitting
    Leetcode: Minimum Unique Word Abbreviation
    Leetcode: Design Phone Directory
    Leetcode: Valid Word Abbreviation
    Leetcode: Range Addition
    Leetcode: Find Leaves of Binary Tree
    Leetcode: Design Hit Counter
  • 原文地址:https://www.cnblogs.com/kuku/p/73068.html
Copyright © 2020-2023  润新知