以前、どこかのHPで、VB6.0では、Integer型は内部でLong型に変換
されるため、整数型の変数にはLongを使う方が良い、というのを
見たことがあり、VB6.0環境では迷わずLong型を使っていました。
VB.NETでは
VB6.0 VB.NET
16 ビット Integer Short
32 ビット Long Integer
64 ビット (none) Long
出展:http://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter4/chapter4_3.asp
となっているようですが、高速化の意味では、64ビットになったLongを使用するべきなのでしょうか?ご教示ください。
処理効率から言えば、Integer型やUInteger型ですね。
http://msdn2.microsoft.com/ja-jp/library/x79h55x9(VS.80).aspx
ただ、後からコードを修正する場合のメンテナンス面を考えれば、
速度差を考慮して選ぶよりも、値の意味や数値範囲で考えた方が
良い場合もあります。
> VB6.0 VB.NET
> 64 ビット (none) Long
ちなみに、メモリサイズだけを見れば、VB6 では Currency がこれに相当します。
Currency は、内部的に10000倍した値として保持されているため、単純な整数型として
見る事はできないのですが、GetDiskFreeSpaceEx API などのように、64bit整数を
扱うAPIを呼び出す際に、Currency が使われる事があります。
http://www31.ocn.ne.jp/~heropa/vb08.htm#GetDiskFreeSpaceEx
了解しました。ありがとうございました。
ツイート | ![]() |