構造体とクラスにつづいて、関連することだと思いますが、
構造体とクラスは、値型と参照型で大きく分けることができます。(例外もあるでしょうが)
値型の特徴として、例えば、測角、測距を定義する場合、
Structure AngleDistance
Public a,s as Double
End Structure
とするならば、
Dim MyAngleDistance1 as AngleDistance
Dim MyAngleDistance2 as AngleDistance
と変数を宣言する場合Newで呼び出さなくてもいいです。
また
MyAngleDistance1.a = 90.1234
MyAngleDistanve1.s = 10.123
と値を代入した後で
MyAngleDistance2 = MyAngleDistance1
と1の構造体を代入
その後
MyAngleDistance2.s = 20.234
と代入したとしても
Lable1.Text = Stirng.Parse(MyAngleDistance2.s)
ラベルには10.123と表示されます。
逆に参照型のクラスで定義すると
Class AngleSpan
Public a,s as Double
End Class
とすると、インスタンスを生成しないといけないので
Dim MyAngleSpan1 as AngleSpan = New AngleSpan()
Dim MyAngleSpan2 as AngleSpan
としておいて
MyAngleSpan1.a = 90.1234
MyAngleSpan1.s = 10.123
と代入、
MyAngleSpan2 = MyAngleSpan1
と2に代入した後
MyAngleSpan2.s = 20.234
と代入すると
Lable1.Text = String.Parse(MyAngleSpan2.s)
は「20.234」という表示がされます。
また、参照型なので、代入元1の方も
Lable2.Text = String.Parse(MyAngleSpan1.s)
と20.234となってしまいます。
構築していきたい対象が、StructureがいいのかClassがいいのかは、
データの特性を考えて判断していくことになると思いますので、
値型か参照型であるか慣れるまで慎重に使う方がいいですね^^