4

私はコードレビューの過程にあり、これに出くわしました:

Dim lngLen As Long    
lngLen = 16&

私はいくつかの読書をしましたが、これは数値を long にキャストする方法のようです - それは正しいですか?

lngLenしかし、これは数値であるため、値 16 を割り当てることができるので、ここで本当に必要なのでしょうか。

また、次のコードに従って、これが行われます。

Dim strCompName As String   
strCompName = String$(lngLen, 0&)

StringAccess のヘルプ定義から、「指定された長さの繰り返し文字列を含むバリアントを返す」というメソッドを認識しています。

では、$ は何をするのでしょうか? また、 & は 0 を long にキャストしていますか?

4

2 に答える 2

3

お問い合わせのとおり

一部の人々は、正しい型を返す関数を選択すると、効率がわずかに向上し、コードの実行が高速になると考えています。

一方で、サフィックス付きで宣言されていない場合、コードに型宣言サフィックスを追加しても、まったく役に立たないと考える人もいます。確かに、それはコードを難読化するだけです。

String$ is a function
The $ at the end is a way of declaring the variable As String.
The & at the end is a way of declaring the variable As Long.

あなたは正しいです。ここではこれらが必要だとは思いません。

于 2013-04-24T09:40:53.023 に答える