我试图使用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) 我最近了解了List的.ConvertAll扩展.我今天在代码中使用它几次,将我的对象的大型列表转换为其他对象的列表.它似乎工作得很好.但是,我不确定这与仅迭代列表和转换对象相比有多快或多快..ConvertAll是否会使用任何特殊的东西来加速转换过程,或者它只是一种简单的转换列表而无需设置循环的方法?
我想将具有相同索引的两个列表转换为单个列表.鉴于这种:
List<double> ListA = new List<double> { 1, 2, 3, 4, 5 };
List<string> ListB = new List<string> { "A","B","C","D","E" };
Run Code Online (Sandbox Code Playgroud)
到现在为止,我用过这个:
List<string> UNHAPPY = new List<string>();
for (int ListIndex = 0; ListIndex < ListA.Count; ListIndex++)
{
UNHAPPY.Add(ListB[ListIndex]+ListA[ListIndex].ToString());
}
// such that UNHAPPY == new List<string> {"A1", "B2", "C3", "D4", "E5"}
Run Code Online (Sandbox Code Playgroud)
但我真的想尽可能使用短代码,就像这样(类似于Enumerable.ConvertAll):
List<string> HAPPY = SOME_CONTAINER(ListA, ListB).SOME_SELECTOR((a,b) => b + a.ToString());
// such that HAPPY == new List<string> {"A1", "B2", "C3", "D4", "E5"}
Run Code Online (Sandbox Code Playgroud)
有没有快速的方法呢?提前谢谢!