したがって、私は常に、C# でのキャストと変換は基本的に同じであると想定してきました。あるデータ型から別のデータ型に移行する 2 つの異なる方法です。ただし、これらは異なる結果を出力することが多いため、明らかにこれは正しくありません。
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
- 私の質問は、2 つの主な違いは何ですか。また、なぜ異なる結果が返されるのですか?
- どちらか一方を使用する「適切な」時期はいつですか?
個人的には、このConvert.To
方法を使用していることに気づきました。もスローすることを知っていSystem.InvalidCastException
ます。誰でも簡単な説明を提供できますか?