2013-02-16 48 views
1

我有一個字符串,我想轉換成字節(正確使用encoding.getbytes()函數),然後轉換成的字節,將它們添加到List。如何轉換並添加一個字符串到列表<byte>?

我該怎麼做?我已經考慮過對字符串中的每個字符進行轉換並將其逐個添加到列表中,但我想知道是否有更高效的方法來執行此操作。

+0

正如你想創建一個列表從1個字符串,或多個字符串的組合? – psubsee2003 2013-02-16 00:54:04

+0

psubsee2003:該列表已經有幾千個字節存在。有幾個字符串我想要轉換爲字節並將它們添加到列表中。 – Fideon 2013-02-16 00:55:41

回答

0

循環是不必要的,你可以得到從字符串的字節數組,然後調用列表的AddRange()方法將它們添加到名單。

List<byte> byteList = new List<byte>(); 

foreach (var currentString in stringCollection) 
{     
    var bytes = Encoding.Unicode.GetBytes(currentString); 
    byteList.AddRange(bytes); 
} 
2
class Program 
{ 
    static void Main(string[] args) 
    { 
     String str = "Kiran Bheemarti"; 

     List<byte> bytes = Encoding.ASCII.GetBytes(str).ToList(); 

     Console.Read(); 
    } 
} 
1

難道你不能只將GetBytes數組轉換爲列表嗎?

List<byte> byteList = Encoding.Default.GetBytes(inputString).ToList(); 

或陣列傳遞給列表的構造函數:

List<byte> byteList = new List<Byte>(Encoding.ASCII.GetBytes(str)); 
+0

參數1:無法從'System.Collections.Generic.List '轉換爲'byte' – Fideon 2013-02-16 01:23:56

+0

@Fideon請參閱我的更新以獲取備用(經過測試)的http://ideone.com/tz5FVA – 2013-02-16 01:29:40

0

如果你有一個字節格式的字符串列表,你可以應用這個。

var stringByte = new List<string>(); 

var sr = stringByte.ConvertAll(c => Encoding.Default.GetBytes(c))).ToList(); 
相關問題