簡體   English   中英

將字符串數組轉換為字節數組

[英]Converting a string array to a byte array

好的,在任何人嘗試將其標記為重復項之前,我都沒有要求將字節串添加到字節數組。 我想要一個包含類似於以下內容的字符串數組:{“ 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();

嘗試這個

與linq

string[] strings = new[] { "1", "2", "3", "4" };
byte[] byteArray = strings.Select(x =>  byte.Parse(x)).ToArray();

沒有linq

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);  
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM