0

このコードをより効率的にする方法はありますか?

if (includeRows != null && includeRows.Count > 0)
{
    for (int i = aList.Count - 1; i >= 0; i--)
    {
        if (!includeRows.Exists(j => j == (i + 1)))
        {
            aList.RemoveAt(i);
            includeRows.Remove(i + 1);
        }
    }
}

これは私がやったことです.aListには整数ではなくオブジェクトが含まれているため、リスト内のオブジェクトのインデックスが必要です.includeRows.Remove()が効率を下げるかどうかわからない.

for (int i = aList.Count - 1; i >= 0; i--) {
                    if (!includeRows.Contains(i + 1) )
                    {
                        aList.RemoveAt(i);
                       // includeRows.Remove(i + 1);
                    }
 }
4

3 に答える 3

0
aList = aList.Intersect(includeRows).ToList<int>();
于 2013-04-10T05:34:01.863 に答える