VB.netのconsole(コンソール)プログラムの標準入力からの1行の読み込みは
console.readline
を使う。

この時は文字列として読み込まれるので、例えば数字を文字列ではなく整数値として読み込みたい場合は、integer.parseでキャストして整数型(Integer型)に明示的に変換してやる。
num=integer.parse(str) とか

が、どうやら、integer.parseで明示的に型変換しなくても、VB.netは暗黙的に文字列型ー>数値型にキャストしてくれちゃうらしい。
下のプログラムは入力値(サイコロの目 1<= n <=6))に対し反対側の目を出力するプログラムだけど、console.readlineで読み込んだ文字列をinteger型のnに代入するときに、整数型に暗黙的にキャストしてるらしく、正しく動作する。

<p_dice.vb>
imports System
public class p_dice
  shared Sub Main()
    dim n as integer
    n=Console.Readline
    Console.WriteLine (7-n)
  End Sub
end class


◆コンパイル

C:\vb>vbc /t:exe /out:.\p_dice.exe p_dice.vb
Microsoft(R) Visual Basic .NET Compiler version 7.00.9951
for Microsoft(R) .NET Framework version 1.00.3705.6018
Copyright (C) Microsoft Corporation 1987-2001. All rights reserved.

◆動作確認
C:\vb>p_dice
6
1

C:\vb>p_dice
3
4

C:\vb>p_dice
b

ハンドルされていない例外 : System.InvalidCastException: 文字列 "b" から型 'Integ
er' へのキャストが有効ではありません。 ---> System.FormatException: 入力文字列の
形式が正しくありません。
   at Microsoft.VisualBasic.CompilerServices.DoubleType.Parse(String Value, Num
erFormatInfo NumberFormat)
   at Microsoft.VisualBasic.CompilerServices.IntegerType.FromString(String Value
)
   --- 内部例外スタック トレースの終わり ---
   at Microsoft.VisualBasic.CompilerServices.IntegerType.FromString(String Value
)
   at p_dice.Main()

◆結論
数値を入力した場合は、数値onlyの文字列はinteger型に自動的にキャストされた。
数値以外の文字が混在していると例外を発生(当たり前ですが)

VB.netは文字列を数値型変数に代入するときに、その変数の型に暗黙的にキャストする。


■関連ページ
VB.netの実数の整数型へ代入するときの自動型変換(オートキャスト)については、VB.net整数型へのオートキャスト

VBAにおけるオートキャストについては、VBA整数型へのオートキャスト