間違えやすいので、書いておきます。
以下のようなEnum構造体を定義します。
Enum Colors
Red = 1
Green
Blue
Yellow
End Enum
以下のようなコードを書いた場合結果が異なるということは
ご存知でしょうか?
1.Colors.Red.ToString
2.CType(Colors.Red, String)
どちらも、何かをString型にしてくれるという点では、
同じように見えますが、実際には全く異なります。
以下のような結果になります。
1.Colors.Red.ToString → "Red"
2.CType(Colors.Red, String) → "1"
1.ToStringは、Object を表す Stringを返します。
Enumメンバは、それぞれEnumのインスタンスにあたるので、
それを表す文字列が戻ってきます。
2.CTypeは、任意の式を、指定されたデータ型に明示的に変換し、
その結果を返します。
インスタンスをString型に変換して、値を返しています。
ちょっとややこしいですが、違いを覚えておきましょう。