将字符串数组转换为字节数组

Ari*_*Ari 1 c# arrays string byte

好吧,在任何人试图将其标记为重复之前,我不是要求字符串到字节数组.我想要一个字符串数组,包含类似这样的东西:{"5","168","188","28","29","155"}转换为字节数组.我已经搜索过,并且只能找到字符串到字节数组,这是完全不同的.谢谢.

编辑:将预设数组,以便通过byte.Parse可以解析每个成员,因此这不是问题.

Aus*_*nen 7

对于无法解析的任何内容,这都将失败byte.Parse

var str = new[] {"5", "168", "188", "28", "29", "155"};
var byt = str.Select(byte.Parse).ToArray();
Run Code Online (Sandbox Code Playgroud)


Guf*_*ffa 5

您必须将每个字符串解析为一个字节,然后放入一个新数组。您可以循环浏览各个项目并转换每个项目:

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]);
}
Run Code Online (Sandbox Code Playgroud)

您也可以为此使用Array.ConvertAll方法

string[] strings = { "5", "168", "188", "28", "29", "155" };
byte[] bytes = Array.ConvertAll(strings, Byte.Parse);
Run Code Online (Sandbox Code Playgroud)

您也可以使用LINQ扩展来做到这一点:

string[] strings = { "5", "168", "188", "28", "29", "155" };
bytes = strings.Select(Byte.Parse).ToArray();
Run Code Online (Sandbox Code Playgroud)