C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 43 を表示中)
■22597 / )  Re[1]: 引数の型
□投稿者/ よねKEN (167回)-(2008/07/28(Mon) 11:57:28)
No22593 (TRT さん) に返信
> vb.netにおいて、引数の型を大かっこで囲む意味はなんでしょうか。

識別子を[]で括弧で囲むのは、予約語をエスケープするために使います。
例えば、Dimはキーワードのため変数名に使用して、
Dim Dim As Integer
と記述することは文法上できませんが、
Dim [Dim] As Integer
という風に[]で囲むことでキーワードでも識別子として使用できます。

> □使用例
> Shared Sub Connect(server As [String], message As [String])

http://msdn.microsoft.com/ja-jp/library/system.net.sockets.tcpclient(VS.80).aspx

にある例ですね。
この例での[String]や[Byte]は、結果としては動作上に何ら差異はありませんが、
文法上の解釈は[]なしとでは意味が違います。

VBでは、StringやByteはキーワードで、これらは文法上System.String、System.Byteの別名であると定義されているので、
この型として解釈されます。それに対して[String]や[Byte]と記述した際の、StringやByteはキーワードではなく
単なる識別子としてのそれになり、その名前のクラス/構造体が検索されます。
これも結果的にはSystem.StringとSystem.Byteが該当します。結果は同じですが、解釈の過程が異なります。

#このサンプルが微妙に違和感のあるサンプルになっている理由は同ページの
#C#のサンプルを機械的にコンバートしたものだからだろうと思います。

返信 編集キー/


管理者用

- Child Tree -