如何从列表中删除特定的动态ExpandedObject
本文关键字:动态 ExpandedObject 删除 列表 | 更新日期: 2023-09-27 18:27:46
现在我想从列表menu_items
中删除ExpandedObject
,其中mi_obj_num
等于1,而不循环整个List
。有办法做到这一点吗?
List<ExpandoObject> menu_items = new List<ExpandoObject>();
dynamic mi = new ExpandoObject();
mi.character = "Hello";
mi.mi_obj_nm = 1;
menu_items.Add(mi);
mi.character = "World";
mi.mi_obj_nm = 2;
menu_items.Add(mi);
您能做的最好的事情就是使用RemoveAll
。当然,在内部,它会在列表中有一个循环,这是不可避免的,尽管您不需要自己键入任何循环。
如果不想写循环,请使用:menu_items.RemoveAll(eo => eo.mi_obj_nm == 1)
如果要直接访问,请使用与List
不同的数据结构,例如Dictionary
,并使用mi_obj_nm
作为密钥。