现在,我想从列表ExpandedObject
中删除menu_items
,其中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);
答案 0 :(得分:2)
你能做的最好的事情就是使用RemoveAll
。在内部它当然会在列表中有一个循环,这是不可避免的,尽管你不需要自己输出任何循环。
答案 1 :(得分:0)
如果您不想编写循环,请使用:menu_items.RemoveAll(eo => eo.mi_obj_nm == 1)
如果您想直接访问,请使用与List
不同的数据结构,例如Dictionary
并使用mi_obj_nm
作为密钥。