我想使用 indizes 删除 Jagged 数组的项目。
int[] toRemove; (e.g, {0, 1})
int[][] MainArray (e.g. { [0] {...}, [1] {...}, [2] {...}}
预期结果
int[][] result (e.g. {[2] {...}}
从MainArray如何从toRemove列表中删除具有索引的项目?
有没有使用 LINQ 的有效方法?
我想使用 indizes 删除 Jagged 数组的项目。
int[] toRemove; (e.g, {0, 1})
int[][] MainArray (e.g. { [0] {...}, [1] {...}, [2] {...}}
预期结果
int[][] result (e.g. {[2] {...}}
从MainArray如何从toRemove列表中删除具有索引的项目?
有没有使用 LINQ 的有效方法?
希望这会产生预期的结果:
var notInToRemove = MainArray
.Where((arr ,index) => !toRemove.Contains(index)).ToArray();
如果您想要的只是 toRemove 集中不存在的数据,则可以使用 ElementAt 方法而不是 Remove 方法。
int[] toRemove = {0,1};
int[][] mainArray = new int[3][];
mainArray[0] = new int[]{0,0,0};
mainArray[1] = new int[]{1,1,1};
mainArray[2] = new int[]{2,2,2};
var result = mainArray.ElementAt(2); // This value 2 is found as all indexes of mainArray except the values in toRemove
//(Code would look like this :
Enumerable.Range(0, mainArray.Length).Except(toRemove);