我该如何将任意长度的Char[]转换为List?
首先要明白的是,在.NET中,字符不等同于字节。要在字符(文本类型)和字节(二进制类型)之间进行转换,需要使用编码(请参见System.Text.Encoding)。
编码将帮助您在字符串/char []和byte []之间进行转换。一旦您获得了一个字节数组,有多种方法可以将其转换为List<byte> - 尽管您甚至可能不需要这样做,因为byte []实现了IList<byte>。
有关文本转换方面的更多信息(以及更多文章的链接),请参阅我的Unicode文章。
byte[] arr = new System.Text.UTF8Encoding( true ).GetBytes( str );
List<byte> byteList = new List<byte>( arr );