Ответ 1
CType от VB6 раз и не самый лучший, когда дело доходит до эффективности. Вы должны использовать методы Convert.ToXxxx()
для конверсии и TryCast()
и DirectCast()
для отливки вместо CType()
.
Я немного смущен наличием двух, казалось бы, идентичных функций VB.NET: CType(args)
и Convert.ToType(args)
. Я новичок в .NET и VB в целом, поэтому я не совсем уверен, является ли одно из них наследием VB6 или у них фактически есть разные цели/использование/ограничения. Является ли один из них более новым/безопасным? Есть ли причины использовать один, но не другой?
Ура! =)
CType от VB6 раз и не самый лучший, когда дело доходит до эффективности. Вы должны использовать методы Convert.ToXxxx()
для конверсии и TryCast()
и DirectCast()
для отливки вместо CType()
.
См. эту страницу в MSDN. (Функции преобразования, CType, DirectCast и System.Convert Section).
Вывод этого раздела выглядит следующим образом:
Рекомендация. Для большинства конверсий используйте встроенный язык ключевые слова конверсии (включая CType) для краткости и четкости и для разрешить оптимизацию компилятора при преобразовании между типами. использование DirectCast для преобразования объекта в строку и для извлечения значения типы в коробке в переменных объекта, когда встроенный тип известен (что является, принуждение не требуется).