3

わかりました、誰かがこれを重複としてラベル付けしようとする前に、バイト配列への文字列を求めているわけではありません。次のようなものを含む文字列配列が必要です: {"5","168","188","28","29","155"} をバイト配列に変換します。私は検索しましたが、文字列からバイト配列までしか見つけることができませんでした。これはまったく異なります。ありがとう。

編集: 配列は、各メンバーが byte.Parse を介して解析できるように事前設定されるため、これは問題ではありません。

4

4 に答える 4

10

これは、解析できないものに対しては失敗しますbyte.Parse

var str = new[] {"5", "168", "188", "28", "29", "155"};
var byt = str.Select(byte.Parse).ToArray();
于 2012-06-29T20:31:08.007 に答える
6

各文字列をバイトに解析し、新しい配列に入れる必要があります。アイテムをループして、それぞれを変換できます。

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();
于 2012-06-29T20:36:14.237 に答える
2

次のような文字列配列があると仮定しますstring[] myArray = {"5","168",...};

myArray.Select(x => byte.Parse(x)).ToArray();

または:

myArray.Select(byte.Parse).ToArray();
于 2012-06-29T20:30:58.267 に答える
2

これを試して

リンク付き

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);  
}
于 2012-06-29T20:31:18.557 に答える