我有一个包含项的IList(从父项开始),它们需要以相反的顺序添加到图表文档中,以便最后添加父项,并在顶部绘制,以便用户首先选择。
怎么做才是最好的方法?是否有比我目前所做的更好/更优雅的方法?我在下面发布当前的方法...
我有一个包含项的IList(从父项开始),它们需要以相反的顺序添加到图表文档中,以便最后添加父项,并在顶部绘制,以便用户首先选择。
怎么做才是最好的方法?是否有比我目前所做的更好/更优雅的方法?我在下面发布当前的方法...
foreach(var item in obEvtArgs.NewItems.Reverse())
{
...
}
System.Linq.Enumerable.Cast
扩展方法将弱类型的System.Collections.IList
转换为泛型集合:var reversedCollection = obEvtArgs.NewItems
.Cast<IMySpecificObject>( )
.Reverse( );
for
循环和 as
转换以从原始集合中获取强类型对象的噪音。NewItems是我的List... 不过这样有点笨重。
for(int iLooper = obEvtArgs.NewItems.Count-1; iLooper >= 0; iLooper--)
{
GoViewBoy.Document.Add(CreateNodeFor(obEvtArgs.NewItems[iLooper] as IMySpecificObject, obNextPos));
}
你不需要LINQ:
var reversed = new List<T>(original); // assuming original has type IList<T>
reversed.Reverse();
foreach (T e in reversed) {
...
}