所以我一直认为 c# 中的转换和转换基本上是同一件事:从一种数据类型转换为另一种数据类型的两种不同方式。显然这是不正确的,因为它们通常会输出不同的结果。
Convert.ToInt32(1.6) //outputs 2
(Int32)1.6 //outputs 1
(DateTime)("10/29/2013") //won't compile - cannot convert type 'string' to type 'system.date.time'
Convert.ToDateTime("10/29/2013") //outputs 10/29/2013 12:00:00 AM
- 我的问题是两者之间的主要区别是什么,为什么它们会返回不同的结果?
- 什么是“适当”的时间来使用一个而不是另一个?
就我个人而言,我发现自己使用这种Convert.To
方法,因为这对我来说似乎更干净。我知道它也会抛出System.InvalidCastException
. 任何人都可以提供一个简单的解释吗?