C#,一个ArrayList,有2个“张三”,用Remove命令,只能删除一个,怎么全部删除?

源代码:
static void Main(string[] args)
{
ArrayList myarraylist = new ArrayList();
myarraylist.Add("张三");
myarraylist.Add("李四");
myarraylist.Add("王五");
myarraylist.Add("张三");
myarraylist.Add("赵六");
myarraylist.Remove("张三");
foreach (object obj in myarraylist) Console.Write(obj + "\t");
Console.ReadKey();
}
结果:李四 王五 张三 赵六
myArraylist 包含2个“张三”,用Remove命令,只能删除一个,怎么全部删除?

可以使用for循环删除,代码如下:

for (var i = myarraylist.Count - 1; i >= 0; i--)
{
if ((string)myarraylist[i] == "张三")
{
myarraylist.RemoveAt(i);
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-06
循环一下就行了呗,注意从后面往前面遍历。
相似回答