有一集合ArrayList array = new ArrayList();
foreach (m in n)   //循环添加若干字符串元素
{                
   array.Add(str);
}
如何移除array中(如:含有"aaa", "bbb", "ccc"这样特征的元素),如果这样的特征比较多怎么办??

解决方案 »

  1.   

    这年头还用ArrayList 干嘛,换List。     List<string> list = new List<string>();
                list.Add(..);list.Add(..);list.Add(..);list.Add(..);list.Add(..);            string 指定字符串 = "aa";
                list.Remove(指定字符串);
      

  2.   

    晕 ArrayList 也可以用Remove
      

  3.   

    如果,含有"aaa", "bbb", "ccc"这样特征的元素比较多怎么办?那不是要写很多个Remove,并且,Remove("aaa"),仅能移除aaa这个元素, 89324iwkjffjaaa   这样的元素或 aaasdkfwerus834  能移除吗???
      

  4.   

    可以在array.Add(str);
    加上判断
    str.Contains("aaa");
    str.Contains("bbb");
    str.Contains("ccc");期待更好的解法!!
      

  5.   

    //用List<string>
    List<string> list = new List<string>();
    list.Add("123aaa321");
    list.Add("123bbb321");
    list.Add("123ccc321");
    list.Add("123ddd321");
    //比如删除包含aaa,bbb,ccc的。
    string[] removeList = new string[]{"aaa","bbb","ccc"};
    list.RemoveAll(
        delegate(string s)
        {
            return Array.Find(removeList, delegate(string m)
            {
                return s.IndexOf(m) != -1;
            }) != null;
        });
    foreach (string s in list)
    {
        Console.WriteLine(s);
    }
      

  6.   

    如果2008,支持Linq。可以写
    list.RemoveAll(s => removeList.Where(m => s.IndexOf(m) != -1).Count() > 0);
      

  7.   

    ArrayList array = new ArrayList();
    from string q in array where q!="" selec q 
      

  8.   

                List<string> array = new List<string>();
                array.Add("1234");
                array.Add("12345");
                array.Add("12sss3");
                array.Add("123sss");
                array.Add("sss123");
                array.Add("123");
                var aaa = from p in array where !p.Contains("sss") select p;
                string str = "";
                foreach (var temp in aaa)
                {
                    str += (temp as string) + "\t";
                }
                MessageBox.Show(str);//结果弹出1234 12345 123