C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[4]: byte配列の値をそのままlistboxに表示するには?
(過去ログ 31 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 6 記事 (1 - 6 表示)] <<
0
>>
■14784
/ inTopicNo.1)
byte配列の値をそのままlistboxに表示するには?
▼
■
□投稿者/ きのまる
(1回)-(2008/02/27(Wed) 00:24:38)
分類:[C#]
C#2005を使用しております。
byte配列があって、そこに0〜255の値が入っているのですが、その値を
listboxに表示したいと思っています。ASCIIコードの場合には
listBox1.Items.Add(System.Text.Encoding.ASCII.GetString(data));
※dataは1024バイトのbyte型配列です
で表示できるのですが、配列に入っている各要素の値を16進数で表示したいと思っております。
配列の値を16進数で表示するにはどのようにしたらよいでしょうか。
ちなみに
listBox1.Items.Add(System.Convert.ToString(Uart_data));
のようにしたら、System.byte[] という表示になってしまい値が表示されませんでした。
どなたかご教授いただければ幸いです。
よろしくお願いいたします。
引用返信
編集キー/
編集
■14786
/ inTopicNo.2)
Re[1]: byte配列の値をそのままlistboxに表示するには?
▲
▼
■
□投稿者/ Blue
(363回)-(2008/02/27(Wed) 00:41:10)
具体的にどのように表示してもらいたいのでしょうか?
配列の中身全部?→ループの必要があり
10進形式?16進形式?→1要素(Byte型)に対してのToStringメソッドで形式を指定できる
引用返信
編集キー/
編集
■14787
/ inTopicNo.3)
Re[1]: byte配列の値をそのままlistboxに表示するには?
▲
▼
■
□投稿者/ やじゅ
(190回)-(2008/02/27(Wed) 00:45:19)
■
No14784
(きのまる さん) に返信
> C#2005を使用しております。
> で表示できるのですが、配列に入っている各要素の値を16進数で表示したいと思っております。
> 配列の値を16進数で表示するにはどのようにしたらよいでしょうか。
>
16進数表示
int ivalue = Convert.ToInt32(c);
string hex = String.Format("{0:X2}", ivalue);
引用返信
編集キー/
編集
■14789
/ inTopicNo.4)
Re[2]: byte配列の値をそのままlistboxに表示するには?
▲
▼
■
□投稿者/ きのまる
(3回)-(2008/02/27(Wed) 00:57:06)
■
No14786
(Blue さん) に返信
> 具体的にどのように表示してもらいたいのでしょうか?
>
> 配列の中身全部?→ループの必要があり
> 10進形式?16進形式?→1要素(Byte型)に対してのToStringメソッドで形式を指定できる
返信ありがとうございます。
具体的には、例えば data配列の要素0〜5までに 0x41,0x42・・・,0x46 という値が入っていたとして
他の要素6〜1024までは0が入っています。
これを、listboxに 0x41,0x42〜,0x46 というように表示したいのです。
listBox1.Items.Add(System.Text.Encoding.ASCII.GetString(data));
上記のようにすると ABCDEF とASCIIコードで表示されてしまいます。
これをABCDEFではなく、16進数として表示したいと思っております。
よろしくお願いいたします。
引用返信
編集キー/
編集
■14791
/ inTopicNo.5)
Re[3]: byte配列の値をそのままlistboxに表示するには?
▲
▼
■
□投稿者/ Blue
(364回)-(2008/02/27(Wed) 01:08:09)
2008/02/27(Wed) 01:09:13 編集(投稿者)
馬鹿単純※に考えると
string s;
foreach (byte b in Uart_data)
{
// 0x00がでたらループを抜けるならここにif文とかいれる
s += b.ToString("X2") + ","
}
listBox1.Items.Add(s);
となるけど、
>配列の中身全部?→ループの必要があり
>10進形式?16進形式?→1要素(Byte型)に対してのToStringメソッドで形式を指定できる
のヒントで、なにかわからないことがあったのでしょうか?
※string型変数に += で追加するのは好ましくないでしょう。→StringBuilderあたりを使う
最後に "," がつく。→if文とかで判定するか、ループを抜けた後とるとか。
etc...
引用返信
編集キー/
編集
■14792
/ inTopicNo.6)
Re[4]: byte配列の値をそのままlistboxに表示するには?
▲
▼
■
□投稿者/ きのまる
(5回)-(2008/02/27(Wed) 01:30:29)
> string s;
> foreach (byte b in Uart_data)
> {
> // 0x00がでたらループを抜けるならここにif文とかいれる
> s += b.ToString("X2") + ","
> }
> listBox1.Items.Add(s);
お教えいただきました方法でうまくいきました。
本当にありがとうございました。助かりました。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-