Обычные типы (Value Types) включают в себя:
Ссылочные типы (Reference Types) включают в себя:
Что касается строк, то тут тонкость. Строки хоть и являются ссылочным типом, во многом ведут себя, как обычный тип. Так оператор присваивания B = A дает видимый результат, свойственный обычным типам.
Object. Нам остается упомянуть тип Object – тип-хамелеон. Вы знаете, что переменной, объявленной этим типом, вы можете в разные моменты присваивать значения любых типов: числовых, классов и т.д. Например:
Dim A As Object
A = 5
A = Button1
Так вот, Object – это ссылочный тип. Но пока переменная, объявленная этим типом, хранит в себе значение обычного типа, он ведет себя, как обычный тип, а если ссылочного – то как ссылочный. Так, на протяжении приведенного фрагмента переменная A успеет побывать и обычной, и ссылочной.
Заключение. Ссылки придают программированию дополнительную гибкость. В частности они позволяют организовывать в памяти конструкции переменного размера, такие как списки, деревья, очереди, стеки и тому подобные известные программистам вещи.