|
■No54096 (ばいなり さん) に返信
> int j = 0;
> for (int p = 0; p < textBox2.Text.Length; p += 2)
> {
> byteArrayData[j] = (Convert.ToByte(textBox2.Text.Substring(p, 2), 16));
> j++;
> }
> このようにしました。
変数 j は、何のために利用されているのでしょうか?
> ToBinaryが.Net CompactFrameで使えないようでしたので
先のコードは、アドエス(.NET Compact Framework 2.0)環境での
動作を確認していますので、そのまま動くはずなのですが…。
動作しないのは、メソッドのスコープの違いや using の有無の問題だけだったりはしませんか?
それとも、.NET Comapct Framework 1.0 をお使いなのでしょうか?
とりあえず、手動コンパイルで再確認。
/*
《ファイル名》
C:\a.cs
《CMD.EXE からコンパイル》
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CSC.EXE /noconfig /nostdlib+ ^
/out:C:\a.exe ^
/r:"C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\mscorlib.dll" ^
/r:"C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\System.Data.dll" ^
/r:"C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\System.dll" ^
/r:"C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\System.Xml.dll" ^
C:\a.cs
*/
using System;
using System.Collections.Generic;
class Sample {
static void Main() {
byte[] bin = ToBinary("A1B2C3");
Console.WriteLine(BitConverter.ToString(bin));
foreach(byte b in bin) Console.WriteLine("0x{0:X2}({0})", b);
}
static byte[] ToBinary(string hexString) {
List<byte> wk = new List<byte>();
for (int p = 0; p < hexString.Length; p += 2)
wk.Add(Convert.ToByte(hexString.Substring(p, 2), 16));
return wk.ToArray();
}
}
|