簡體   English   中英

如何使用Array ConvertAll將字符串數組轉換為字節數組?

[英]How do I convert a string array to a byte array using Array ConvertAll?

我可以像下面的代碼一樣將string[]轉換為byte[]

 byte[] k = {255, 150, 155, 255, 255, 255, 255, 255, 255, 255, 55, 55, 15, 55, 155, 55};
 string st = BitConverter.ToString(Array.ConvertAll(k, Convert.ToByte));     
 byte[] kk = new byte[16];
 string[] sts = st.Split('-');            
 for (int i = 0; i < 16; i++)
 {
    kk[i] = Convert.ToByte(sts[i], 16);
 }

但是我不能像下面的代碼那樣對LINQ進行同樣的操作:

Array.ConvertAll(sts,item=>(byte) Convert.ToByte(item, 16))

如何在LINQ中進行這項工作?

為什么在Visual Studio的“立即窗口”中不起作用?

Lambda表達式在“立即”和“監視”窗口中不起作用。

您的代碼確實有效。 也許您忘記了分號:

 var a = Array.ConvertAll(sts, s => Convert.ToByte(s, 16));

這是從字節數組(或雙精度數組)轉換為字符串,以及從字符串轉換為字節/雙精度數組的絕佳解決方案。 :)

double[] k = {255, 150, 155, 25, 2, 55, 66};
string st = BitConverter.ToString( Array.ConvertAll(k, Convert.ToByte));

從字符串到雙數組...

double[] kk = Array.ConvertAll(st.Split('-'), s => (double) Convert.ToByte(s, 16));

暫無
暫無

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

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