tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: バイト配列の表示
投稿日: 2010/04/02(Fri) 22:24
投稿者魔界の仮面弁士
> データ型はverbinary型でいいですよね?
varbinary では無く?


> ヘルプにはReadAllBytes の事なんて全然載ってませんでしたから
載っていますよ。My.Computer.FileSystem.ReadAllBytes にしても
System.IO.File.ReadAllBytes にしても。
http://msdn.microsoft.com/ja-jp/library/microsoft.visualbasic.fileio.filesystem.readallbytes.aspx
http://msdn.microsoft.com/ja-jp/library/system.io.file.readallbytes.aspx

また、HowTo として「Visual Basic でバイナリ ファイルを読み取る」という
記事も用意されています。
http://msdn.microsoft.com/ja-jp/library/9tk3bdxw.aspx


> もうちょっと分かるように書いてほしいです。
それは具体的に言うと、どのページをどのように書いて欲しいということでしょうか?
あるいは、どうすれば目的の情報にたどり着きやすいと考えておられますか?

上記 URL などに示した MSDN ライブラリでは、右上のリンクからフィードバックを
行う事ができますので、是非ともふつうのこさんの望む内容を投稿してみてください。
ここで呟くよりも、Microsoft の担当者に検討してもらえる可能性は高いと思います。


> とにかくヘルプは不親切過ぎます。
もっとも不親切と感じた点はどこでしょうか? どのようにして欲しいのでしょうか?
どのようなユーザー向けに記述して欲しいのでしょうか? そういった具体的な現場の声
(要望や提案等)を届けたいのであれば、下記のフォーラムを利用する事もできます。
http://social.msdn.microsoft.com/Forums/ja-JP/vddocumentsja/threads

先の MSDN サイトからの投稿だと、一方向的な報告で終わってしまいますが、
上記のコミュニティであれば、やりとりが一方向的では無く、Microsoft 社員や
他のユーザーも含めての意見交換ができるので、より建設的かと思います。


> 最後にちょっと思ったのですが、binary() as Byte とbinary as Byte()
> ってどう使い分ければいいのでしょう?
どちらも同じ意味です。複数の表現方法があるというだけで、.NET 的には
まったく同じ結果にコンパイルされますので、無理して使い分ける必要はありません。

強いて言えば、「Byte 型の配列変数」という表現と、「Byte配列型の変数」という表現の
どちらがシックリくるかで、どちらを使うか決めてしまえば良いのではないでしょうか。


以下余談:


歴史的な事情からいえば、Visual Basic では『Dim x() As Byte』の表現の方が一般的です。

元々、BASIC 言語では "DIM" とは、配列を宣言するためのステートメントでした。
(配列の事を、英語では dimension と呼びます)
http://ja.wikibooks.org/wiki/BASIC#.E9.85.8D.E5.88.97_DIM

そして当時は、配列を『DIM A(10)』のように記述していたため、
BASIC の流れを受け継ぐ Visual Basic も、それに似た記述となりました。


一方、As Byte() な書き方が登場したのは、Visual Basic 6.0 からです。
これは、関数(Function プロシージャ)の戻り値として使うために、
 Function GetBinary() As Byte()
のような表現が必要となったためです。

ただし VB6 当時は、変数宣言時に As Byte() 表現を使う事はできませんでした。
Dim 等でも As Byte() 形式で宣言できるようになったのは、
Visual Basic 7.0 (VB.NET 2002)からとなります。


なお、VB.NET と比較される事の多い C# においては、配列を作る際には
データ型の方に括弧を付けて
 byte[] x;
のように記述します。そのため、C# も併用するユーザーにとっては、
Dim x() As Byte よりも Dim x As Byte() の方が好まれるケースもあります。


もっとも、C# でも固定長配列を作る場合には、
 fixed byte x[3];
のように、変数側に括弧を付けることになるのですけれどね。(^^;

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。