アプリ版:「スタンプのみでお礼する」機能のリリースについて

超初心者の質問で申し訳ありません。
先輩に教えてもらい、C#で次のようなbyte配列型のインスタンスを作成しましたが、
同じことをVBでする場合はどのように記述したらよいか教えていただけないでしょうか。
よろしくお願いいたします。

c#sample
byte[] btArray = new byte[8];
btArray[0] = 0x1b;
btArray[1] = 0x28;
btArray[2] = 0x12;
btArray[3] = 0x06;
btArray[4] = 0x3c;
btArray[5] = 0x20;
btArray[6] = 0x1c;
btArray[7] = 0x5d;


VBの場合、New Byte(7)なのか(8)なのかどちらになりますでしょう。
またこんな感じでよいのでしょうか??

Dim btArray As Byte() = New Byte(7)
{
btArray(0) = 0x1b,
btArray(1) = 0x28,
btArray(2) = 0x12,
btArray(3) = 0x06,
btArray(4) = 0x3c,
btArray(5) = 0x20,
btArray(6) = 0x1c,
btArray(7) = 0x5d
}

質問者からの補足コメント

  • 早速のご回答ありがとうございます!大変助かります。
    {}は不要だったのですね、不勉強で申し訳ありませんでした。

    アドバイスいただいた内容で修正すると、次のようでよろしいでしょうか。
    こまごま申し訳ございませんが、ご指導いただけると幸いです。

    Dim btArray As Byte() = New Byte(8)

    btArray(0) = 0x1b,
    btArray(1) = 0x28,
    btArray(2) = 0x12,
    btArray(3) = 0x06,
    btArray(4) = 0x3c,
    btArray(5) = 0x20,
    btArray(6) = 0x1c,
    btArray(7) = 0x5d

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/10/30 00:32

A 回答 (4件)

すみません。

これは忘れていました。今年のお正月辺りは、VBA(.Net Frame参照設定)で、どうやるか頭を捻っていました。その時は、VBAには移植できずじまいでした。

>VBでbyte配列型のインスタンスを生成する方法を教えてください
配列型のインスタンスを生成する(正式)なら、{}は使います。
あまり書かないかもしれませんが、書かないわけでもありません。
添字が8でうまくいくなら、そこはByte(8) の方がよいかもしれません。

ところで、これをエンコード?したらどうなるのでしょうか? C#とほとんど変わらないですね。もともと、だいぶ遠ざかって素人同然なので、分かっているわけではありません。

Dim btArray() As Byte = New Byte(8) {}
Dim str As String
btArray(0) = &H1b
btArray(1) = &H28
btArray(2) = &H12
btArray(3) = &H06
btArray(4) = &H3c
btArray(5) = &H20
btArray(6) = &H1c
btArray(7) = &H5d
この後は、System.Text.Encoding.GetEncoding なるのでしょうか。
    • good
    • 0

以下のようになります。


Dim btArray(7) As Byte
btArray(0) = &H1BUI
btArray(1) = &H28UI
btArray(2) = &H12UI
btArray(3) = &H6UI
btArray(4) = &H3CUI
btArray(5) = &H20UI
btArray(6) = &H1CUI
btArray(7) = &H5DUI

Byte型の配列生成時、newは使用しません。
    • good
    • 0

補足について。



もう一度、#1に書いてあることをよく読んでください。


C#では
byte[] btArray = new byte[n];
としたときは、 n は「要素数」
btArray[0] 〜 btArray[n-1] が有効範囲

VBでは
Dim btArray as byte()= new byte(n)
としたときは、 n は「添字の最大」
btArray[0] 〜 btArray[n] が有効範囲
    • good
    • 0

C#では、配列宣言で使うのは「要素数」です。


n を指定したら、 0〜 n-1 の n 個の添字が使えます、

VisualBasic.NET では、 配列宣言において使うのは「最終添字」です。
n を指定したら、 0〜 n の (n+1) 個の添字が使えます、

あと、VBでは 文を { } でかこうようなことはしません。
この回答への補足あり
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています