我对两个看似相同的VB.NET函数的存在感到有些困惑:CType(args)
和Convert.ToType(args)
。我对.NET和VB一般都很新,所以我不太确定其中一个是VB6遗留物还是它们实际上有不同的用途/用途/限制。其中一个更新/更安全吗?是否有理由使用一个而不是另一个?
干杯! =)
答案 0 :(得分:10)
CType来自VB6次,在效率方面不是最好的。您应该可以使用Convert.ToXxxx()
方法进行转换,使用TryCast()
和DirectCast()
进行投射而不是CType()
。
答案 1 :(得分:2)
见this page on MSDN。 (转换函数,CType,DirectCast和System.Convert部分)。
该部分的结论如下:
推荐:对于大多数转化,请使用内在语言 转换关键字(包括 CType ),以简洁明了 在类型之间进行转换时允许编译器优化。使用 DirectCast ,用于将Object转换为String并提取值 当嵌入类型已知时(对象),在对象变量中装箱的类型 是,强制是没有必要的。)