c# list.Remove的问题
创建了一个privatestaticList<P>pList=newList<P>();P是一个class,然后我想删除某一个class,mp,直接pList.Remov...
创建了一个private static List<P> pList = new List<P>();
P是一个class,然后我想删除某一个class,mp,直接pList.Remove(mp)可以吗?能不能找到当时的那个mp啊? 展开
P是一个class,然后我想删除某一个class,mp,直接pList.Remove(mp)可以吗?能不能找到当时的那个mp啊? 展开
1个回答
展开全部
可以,比如说这样的
public class Test
{
public string msg = "";
}
//之后有代码
List<Test> list = new List<Test>();
Test t = new Test();
t.msg = "sample1";
list.Add(t);
Test t2 = new Test();
t2.msg = "sample2";
list.Add(t2);
Test t3 = new Test();
t3.msg = "sample3";
list.Add(t3);
list.Remove(t2);//移除t2
string kkkk="";//此处可以下断点看看list的值
当然,如果说你没有保留对当时那个Test的实例的引用,但是可以由类中某个元素做为索引来唯一确定那个实例,比如要删除上面的list中第一个msg为sample2的,也可以这样
list.Remove(list.First(i => i.msg == "sample2"));
如果经常要做这种操作,Dictionary可能比List更适合点。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询