C#Casting List <ushort> to List <short> </shorts> </ushort>

时间:2011-02-03 16:07:56

标签: c# .net collections casting

我想这样做

List<ushort> uList = new List<ushort>() { 1, 2, 3 };
List<short> sList = uList.Cast<short>().ToList();

但是我得到InvalidCastException“指定的强制转换无效。”

如何快速高效地投射上述收藏?

谢谢。

2 个答案:

答案 0 :(得分:9)

您可以使用ConvertAll:

List<short> sList = uList.ConvertAll(x => (short)x);

答案 1 :(得分:7)

List<short> sList = uList.Select(i => (short)i).ToList();