【发布时间】:2018-02-24 19:32:35
【问题描述】:
不确定我是否正确地表达了标题,但说我有一个方法,例如:
public static string[] ByteArrayToStringArray(byte[] buffer)
{
//code here
}
这样做会更好
List<string> list = new List<string>();
for (int i = 0; i < buffer.Length; i++)
{
list.Add(buffer[i].ToString());
}
return list.ToArray();
或者这样做会更好
List<string> list = new List<string>();
foreach (byte b in buffer)
{
list.Add(b.ToString());
}
return list.ToArray();
哪个更快或者它们之间没有区别?
【问题讨论】:
-
或者你可以这样做:
buffer.Select(b => b.ToString()).ToArray();. -
你真的想把每一个字节都转换成一个字符串吗?我猜想整个转换计算将占用如此多的总时间,以至于 for 循环与 foreach 循环几乎没有任何区别……