【发布时间】:2021-05-28 00:37:46
【问题描述】:
您好,我如何从通用列表中删除项目,这是我的代码,我正在尝试正确执行,但我不知道我在哪里犯了错误;/
Users us_end = new Users();
foreach (var VARIABLE in ((List<Users>)Application["Users_On"]))
{
if(VARIABLE.Id == (int)Session["Current_Id"])
{
us_end.Name = VARIABLE.Name;
us_end.Id = VARIABLE.Id;
us_end.Data = VARIABLE.Data;
}
}
List<Users> us = ((List<Users>)Application["Users_On"]);
us.Remove(us_end);
Application["Users_On"] = us;
【问题讨论】:
-
嗯,有什么不符合预期? (要使
Remove工作,该项目需要正确实施Equals)。 -
这并没有多大意义:您正在覆盖您在 foreach 中创建的每个用户对象..
-
另外,您将
Application["Users_On"]转换为List<Users,然后将其设置为User。这显然是错误的,如果您希望该代码继续“工作”,则不能两者兼而有之