C#linq删除集合OfType <t>中的所有元素

时间:2018-11-15 11:53:59

标签: c# linq

我想写这样的东西:

ICollection<BaseClass> collection;
collection.OfType<A>().Remove();

编辑:A是一个继承自BaseClass的类(A:BaseClass)

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试根据元素的类型删除元素,如下所示:

class Program
{
  static void Main(string[] args)
  {
    List<IIntf> list = new List<IIntf>()
    {
      new AClass(),
      new BClass(),
    };

    list.RemoveAll(i => i.GetType() == typeof(BClass));
  }
}

public interface IIntf { }
public class AClass : IIntf { }
public class BClass : IIntf { }