从Animal []到Dog []的最佳方式

Luc*_*cas 5 c# arrays casting

如果狗来自动物.

我有一个动物[],我碰巧知道只包含狗.什么是最快/最好的方式让我的手[狗]?我使用了新的ArrayList(oldarray).ToArray(typeof(Dog)); 到目前为止,但感觉有点笨拙,我想知道是否有更优雅的东西.

更新:使用.net 2.0配置文件.应该直接提到这个.我希望在这种情况下编辑原始问题符合stackoverflow网络礼节.我期待着我们可以升级和使用Linq的那一天.

再见,卢卡斯

lep*_*pie 11

var dog_arr = Array.Convert(animal_arr, x => (Dog) x);
Run Code Online (Sandbox Code Playgroud)


Ale*_*yev 6

使用LINQ就可以了

oldarray.Cast<Dog>().ToArray();
Run Code Online (Sandbox Code Playgroud)