MQS*_*MQS 11 c# list convertall
我试图使用List.ConvertAll方法并失败.我想要做的是将a转换List<Int32>为byte[]
我赶紧走了这条路,但我需要找出ConvertAll方法......
List<Int32> integers...
internal byte[] GetBytes()
{
List<byte> bytes = new List<byte>(integers.Count * sizeof(byte));
foreach (Int32 integer in integers)
bytes.AddRange(BitConverter.GetBytes(integer));
return bytes.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
SLa*_*aks 16
由于您不希望byte[][]每个整数映射到四个字节的数组,因此无法调用ConvertAll.(ConvertAll无法执行一对多转换)
相反,您需要调用LINQ SelectMany方法将每个字节数组展平GetBytes为一个byte[]:
integers.SelectMany(BitConverter.GetBytes).ToArray()
Run Code Online (Sandbox Code Playgroud)