从列表<T>中删除项目

Sha*_*esh 0 c#

List<object> A = new List<object>;
List<object> B = new List<object>;
List<object> C = new List<object>;

C.Add(item);
B.Add(C);
A.Add(B);
Run Code Online (Sandbox Code Playgroud)

最后我有List A而不是List B,List B包含List C.我想从列表C中删除一个项目.

我怎么能用LINQ或lambda做到这一点?

dtb*_*dtb 6

LINQ不适用于集合的就地更改.使用老派的删除/removeall过:

((List<object>)((List<object>)A[0])[0]).Remove(item);

((List<object>)((List<object>)A[0])[0]).RemoveAll(o => ((MyClass)o).Id == 5);
Run Code Online (Sandbox Code Playgroud)

注意:此代码段中所需的强制转换数表示您使用List <T>的方式可能不适合您的用例.我强烈建议您考虑指定比对象更具体的泛型参数.