MSDN , по-видимому, указывает на то, что приведение Cxxx для определенных типов может улучшить производительность в VB .NET, поскольку они преобразуются в встроенный код. По некоторым причинам, он также предлагает DirectCast в отличие от CType в некоторых случаях (в документации говорится, что это когда есть отношение наследования; я считаю, что это означает, что целостность приведения проверяется во время компиляции и оптимизации могут быть применяется, тогда как CType всегда использует среду выполнения VB.)
Когда я пишу код VB .NET, то, что я использую, зависит от того, что я делаю. Если это код прототипа, который я собираюсь выбросить, я использую то, что случайно наберу. Если это серьезный код, я пытаюсь использовать Cxxx. Если такового не существует, я использую DirectCast, если у меня есть разумное убеждение, что есть отношения наследования. Если это ситуация, когда я понятия не имею, должно ли произойти приведение (например, пользовательский ввод -> целые числа), тогда я использую TryCast, чтобы сделать что-то более дружественное, чем бросить исключение в пользователя.
Одна вещь, которую я не могу поколебать, это то, что я склонен использовать ToString вместо CStr, но, предположительно, Cstr работает быстрее.