5
List<ushort> uList = new List<ushort>() { 1, 2, 3 };
List<short> sList = uList.Cast<short>().ToList();
,但我得到InvalidCastException的「指定強制轉換是無效的。」
我該如何快速高效地施放上述集合?
謝謝。
List<ushort> uList = new List<ushort>() { 1, 2, 3 };
List<short> sList = uList.Cast<short>().ToList();
,但我得到InvalidCastException的「指定強制轉換是無效的。」
我該如何快速高效地施放上述集合?
謝謝。
List<short> sList = uList.Select(i => (short)i).ToList();
你可以使用ConvertAll:
List<short> sList = uList.ConvertAll(x => (short)x);
[困惑Enumerable.Cast InvalidCastException的]的可能重複(http://stackoverflow.com/questions/445471/puzzling-enumerable-cast-invalidcastexception) – Ani 2011-02-03 16:21:56
@Ani:我不會認爲這是重複的,因爲我知道你不能將`int`轉換爲`long`(它們的大小不同),但我希望從`ushort`到`short`的轉換是可能是因爲它們尺寸相同。換句話說,`(ushort [])(object)new short [] {0,-1}`是完全有效的C#。 – Gabe 2011-02-03 16:43:45