【发布时间】:2019-02-08 07:59:37
【问题描述】:
我有一个Objects 类型的数组,其中包含不同类的变量信息,例如ClassA 和ClassB。
public object[] SelectedObjects { get; }
现在我正在过滤 ClassB 的对象,我需要从 SelectedObjects 的数组中删除这些对象。
var selectedClassBObjects = SelectedObjects.OfType<ClassB>().ToList();
当我执行Remove()或RemoveAll()的操作时,它什么都不做。
谁能建议我如何执行此操作?
我需要删除ClassB 的对象,因为当用户尝试突出显示画布上的对象时,一次只能出现ClassB 的一个对象。首先删除ClassB对象,然后将新选择的ClassB对象添加到SelectedObjects[]。
【问题讨论】:
-
如果要修改集合,数组不是一个好的选择;试试
List<T>:public List<object> SelectedObjects {get;};然后SelectedObjects.RemoveAll(item => !(item is ClassB)); -
也许这会对你有所帮助:stackoverflow.com/questions/496896/…