わかりました、誰かがこれを重複としてラベル付けしようとする前に、バイト配列への文字列を求めているわけではありません。次のようなものを含む文字列配列が必要です: {"5","168","188","28","29","155"} をバイト配列に変換します。私は検索しましたが、文字列からバイト配列までしか見つけることができませんでした。これはまったく異なります。ありがとう。
編集: 配列は、各メンバーが byte.Parse を介して解析できるように事前設定されるため、これは問題ではありません。
これは、解析できないものに対しては失敗しますbyte.Parse
var str = new[] {"5", "168", "188", "28", "29", "155"};
var byt = str.Select(byte.Parse).ToArray();
各文字列をバイトに解析し、新しい配列に入れる必要があります。アイテムをループして、それぞれを変換できます。
string[] strings = { "5", "168", "188", "28", "29", "155" };
byte[] bytes = new byte[strings.length];
for (int i = 0; i < strings.Length; i++) {
bytes[i] = Byte.Parse(strings[i]);
}
これには次のArray.ConvertAll
メソッドも使用できます。
string[] strings = { "5", "168", "188", "28", "29", "155" };
byte[] bytes = Array.ConvertAll(strings, Byte.Parse);
LINQ 拡張機能を使用してそれを行うこともできます。
string[] strings = { "5", "168", "188", "28", "29", "155" };
bytes = strings.Select(Byte.Parse).ToArray();
次のような文字列配列があると仮定しますstring[] myArray = {"5","168",...};
。
myArray.Select(x => byte.Parse(x)).ToArray();
または:
myArray.Select(byte.Parse).ToArray();
これを試して
リンク付き
string[] strings = new[] { "1", "2", "3", "4" };
byte[] byteArray = strings.Select(x => byte.Parse(x)).ToArray();
リンクなし
string[] strings = { "1", "2", "3", "4" };
byte[] bytArr = new byte[strings.Length];
int i = 0;
foreach(String text in strings)
{
bytArr[i++] = byte.Parse(text);
}