Dot-Net

轉換與 CType

  • August 11, 2015

我對存在兩個看似相同的 VB.NET 函式感到有些困惑:CType(args)Convert.ToType(args). 一般來說,我對 .NET 和 VB 還很陌生,所以我不太確定它們中的一個是 VB6 的遺留物還是它們實際上有不同的目的/用途/限制。其中之一是更新/更安全的嗎?是否有理由使用其中一種而不使用另一種?

乾杯! = )

CType來自VB6時代,在效率方面並不是最好的。您應該能夠使用Convert.ToXxxx()方法進行轉換和轉換,TryCast()DirectCast()不是CType().

請參閱MSDN 上的此頁面。(轉換函式、CType、DirectCast 和 System.Convert 部分)。

該部分的結論如下:

建議:對於大多數轉換,使用內在語言轉換關鍵字(包括CType)以簡潔明了,並在類型之間轉換時允許編譯器優化。使用 DirectCast將 Object 轉換為 String 並在已知嵌入類型(即不需要強制)時提取裝在 Object 變數中的值類型。

引用自:https://stackoverflow.com/questions/5544484