gpt4 book ai didi

c# - 如何从 C# 中的 Object[] 中删除特定类型的变量

转载 作者:太空宇宙 更新时间:2023-11-03 19:42:03 27 4
gpt4 key购买 nike

我有一个 Objects 类型的数组,其中包含不同类的变量信息,例如,ClassAClassB.

public object[] SelectedObjects { get; }

现在我正在过滤 ClassB 的对象,我需要从 SelectedObjects 的数组中删除它。

var selectedClassBObjects = SelectedObjects.OfType<ClassB>().ToList();

当我执行 Remove()RemoveAll() 操作时,它什么也没做

谁能建议我如何执行此操作?

我需要删除 ClassB 的对象,因为当用户试图在 Canvas 上突出显示对象时,一次只能出现一个 ClassB 的对象。首先删除 ClassB 对象,然后将新选择的 ClassB 对象添加到 SelectedObjects[]

最佳答案

你不能从数组中删除任何东西,你需要创建一个新的。如果要排除 ClassB 类型的对象你可以这样做:

SelectedObjects = SelectedObjects.Where(x => !(x is ClassB)).ToArray();

如果你想要一个可修改的集合,List<T>是比数组更好的选择。

关于c# - 如何从 C# 中的 Object[] 中删除特定类型的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52146739/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com