C#では、defaultキーワードを使うことで値型・参照型問わず、任意の型でそのデフォルト値を取得することができます。

VBではこのようなキーワードは用意されていませんが、代わりにNothingキーワードを使うことができます。 Nothingは参照型のほか、値型にも使うことができ、値型の場合は対象の型のデフォルト値を表すものとなります。

defaultキーワードで型のデフォルト値を取得する
using System;

class Sample {
  static void Main()
  {
    int i = default(int); // intのデフォルト値
    bool b = default(bool); // boolのデフォルト値
    string s = default(string); // stringのデフォルト値
    DateTime dtm = default(DateTime); // DateTimeのデフォルト値
    Point p = default(Point); // 独自に定義した構造体Pointのデフォルト値

    Console.WriteLine("default(int) = {0}", i);
    Console.WriteLine("default(bool) = {0}", b);
    Console.WriteLine("default(string) = {0}, null? = {1}", s, s == null);
    Console.WriteLine("default(DateTime) = {0}", dtm);
    Console.WriteLine("default(Point) = {0}", p);
  }
}

struct Point {
  public Point(int x, int y)
  {
    this.x = x;
    this.y = y;
  }

  public override string ToString()
  {
    return string.Format("({0}, {1})", x, y);
  }

  private int x, y;
}
実行結果
default(int) = 0
default(bool) = False
default(string) = , null? = True
default(DateTime) = 0001/01/01 0:00:00
default(Point) = (0, 0)