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啊?
展开
 我来答
syht2000
高粉答主

推荐于2016-03-13 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部

可以,比如说这样的

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更适合点。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式