谈谈 C# List 的 Remove

一、只 Remove 第一个符合的项

List<int> list = new List<int> { 1, 2, 2, 3 };
list.Remove(2);

并不会移除两个 2,只会移除第一个,故结果是 1, 2, 3。

二、Remove 不存在的项,不会出错

如上,Remove(7),并不会出错。

三、List 项是引用类型时,按引用比较

List<int> 的项是值类型,而 List<Class1> 的项是引用类型,所以在 Remove 时,是按引用进行的比较。

Class1 c11 = new Class1();
Class1 c12 = c11;
List<Class1> list = new List<Class1>();
list.Add(c11);
list.Add(c11);
list.Remove(c12);
Response.Write(list.Count()); // 1

同样,Remove 不存在的对象,也不会出错。

四、Remove null 不会出错

你可能感兴趣的