如何转换并添加一个String到List <byte>?</byte>

时间:2013-02-16 00:51:15

标签: c# string list byte

我有一个字符串,我想将其转换为字节(正确使用encoding.getbytes()函数),然后是转换产生的字节,将它们添加到List中。

我该怎么做?我已经考虑过为字符串中的每个字符进行转换并将其逐个添加到列表中,但我想知道是否有更有效的方法来执行此操作。

4 个答案:

答案 0 :(得分:2)

class Program
{
    static void Main(string[] args)
    {
        String str = "Kiran Bheemarti";

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

        Console.Read();
    }
}

答案 1 :(得分:1)

你不能把GetBytes数组转换成一个列表吗?

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

或者将数组传递给List的构造函数:

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

答案 2 :(得分:0)

循环是不必要的,您可以从字符串中获取字节数组,然后调用List的AddRange()方法将它们添加到列表中。

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

foreach (var currentString in stringCollection)
{                
    var bytes = Encoding.Unicode.GetBytes(currentString);
    byteList.AddRange(bytes);
}

答案 3 :(得分:0)

如果您有一个字节格式的字符串列表,您可以应用它。

var stringByte = new List<string>();

var sr = stringByte.ConvertAll(c => Encoding.Default.GetBytes(c))).ToList();