从列表中删除第一个对象C#

时间:2015-05-11 10:20:10

标签: c#

我正在尝试从对象列表中删除一个对象,但是将变量对象设置为null并不会破坏它,它仍然出现在列表中。

我确信这不是最好的方式,但我认为它会起作用,任何指针都会非常有用,谢谢。

代码:

public ActionResult RemoveExisting()
        {
            pa newpa = (pa)Session["pa_Session"];
            if (Session["pa_Session"] != null)
            {
                var todel = newpa.ExistingPas.FirstOrDefault();
                todel = null;
            }
            return RedirectToAction("Index");
        }

3 个答案:

答案 0 :(得分:4)

你应该使用删除

  var todel = newpa.ExistingPas.FirstOrDefault();
  newpa.ExistingPas.Remove(todel);
  //than add list back to session object if you want updated list  

答案 1 :(得分:2)

代码中的错误是您首先将变量指向要删除的项目,然后将该变量设置为null。

这不会更改项目并且不会更改列表,代码只会处理从未使用过的变量。

使用Remove或RemoveAt更改列表。

答案 2 :(得分:0)

如果您经常需要从List的开头删除项目,则可以使用Queue集合类型和Dequeue()项目。

https://msdn.microsoft.com/en-us/library/7977ey2c(v=vs.110).aspx