ToString вызовет функцию .ToString()
в конкретном экземпляре.На практике это означает, что будет выброшено исключение, если рассматриваемый объект Nothing
.Однако вы можете реализовать .ToString()
в своих собственных классах, чтобы получить полезное строковое представление вашего объекта, тогда как CType
/ CStr
работает только со встроенными классами и интерфейсами.
CStr и CType ( выражение , строка) в точности эквивалентны (я не уверен, откуда у другого автора появилась идея, что CStr
быстрее).Но на самом деле это не функции, а директивы компилятора, которые будут генерировать совершенно другой код в зависимости от объявления expression .В большинстве случаев эти директивы вызывают группу внутреннего VB-кода, который пытается получить разумную строку из выражения .
DirectCast ( выражение , String) предполагает, что рассматриваемое выражение действительно является String
, и просто приводит его.Это самый быстрый из всех этих вариантов, но он выдаст исключение, если выражение отличается от String
.