惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
A
About on SuperTechFans
量子位
Engineering at Meta
Engineering at Meta
B
Blog
The Cloudflare Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
J
Java Code Geeks
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏
T
Tailwind CSS Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - 小强小工

DataGrid设置中文列名 WinForm窗体生命周期 Oracle格式化函数 ORACLE时间间隔函数 浅谈数据库设计技巧(转) Oracle与SQLServer返回datatable列名大小写 oracle、sqlserver数据库排序空值null问题解决办法 MS SQL Server中的CONVERT日期格式化大全 .NET开发资源站点和.NET开源项目收集 C#中ToString格式大全 - 小强小工 - 博客园 oracle 事务 相关 Oracle SGA 各种排序方法的综合比较 从追MM谈Java的23种设计模式 WinCE概念扫盲 将WinCE5.0模拟器连接到VS2005 .net的事件与委托(转载) VB有关handles 的问题 VB中的handles在C#中怎么写?
.NET中三种数据类型转换的区别:(type), type.Parse, Convert类
小强小工 · 2008-07-22 · via 博客园 - 小强小工

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