VB.net2005でアプリを作っています。
VCのsizeofのようなものを探しています。
やりたいことというのは、
Cだと、
size = Count * sizeof(long);
のように書くところをVBで書きたいのです。
以下のようにサイズを直にかけばいいんでしょうけど、
sizeofみたいなものがあればそれでやりたいです
size = Count * 4
お願いいたします。
System.Runtime.InteropServices.Marshal.SizeOf
でしょうか?
ただし、VCのlong型とVBのLong型はサイズが異なりますけど。
レスありがとうございます。
やってみましたがうまくいきません。
System.Runtime.InteropServices.Marshal.SizeOf(Long)
と、書いてみましたが以下に変換されてしまい、
System.Runtime.InteropServices.Marshal.SizeOf(Of Long)()
以下のエラーが起こってしまいます。
error BC32087: この型引数の数を受け付ける 'SizeOf' がないため、オーバーロードの
解決に失敗しました。
使い方が間違っているんでしょうか?
>ただし、VCのlong型とVBのLong型はサイズが異なりますけど。
ほんとですね。VB6だと4バイトだったはずなんですが変わったんですね。
> System.Runtime.InteropServices.Marshal.SizeOf
だは型名ではなく変数を渡さないとだめですね。
# VB6のLen関数と同じ
Dim l As Long
MessageBox.Show(System.Runtime.InteropServices.Marshal.SizeOf(l).ToString())
もっといい方法がありそうなんだけど。
なるほど。変数じゃないとダメなんですね。
あきらめて定数にでもしてかけることにします。
Const SizeofInt as Integer = 4
size = Count * SizeofInt
ありがとうございました。