如何判断在ArrayList数组中是否有某一元素
如果有则不向数组中增加该元素
我试了好多方法都没成功
请看代码
先从数组库中读取数据,然后用Temp临时存储
ArrayList FromCityArray=new ArrayList;

while(objReader.Read())
{
string Temp=objReader["cityName"].ToString();

foreach(string many in FromCityArray)
      {
if(Temp==many)
continue;
FromCityArray.Add(Temp);
} }
objReader.Close();
也可以举个例子,不用根据代码写

解决方案 »

  1.   

    逻辑错误:
    if(Temp==many) 
    continue; 
    -----------------------------
    这样的话,不管temp是什么,都会被加进去,而且至少会加FromCityArray.Count - 1次。
    改成下面的就可以了:
    ArrayList   FromCityArray=new   ArrayList(); 
    while(objReader.Read()) 

     string   Temp=objReader["cityName"].ToString(); 
     if(FromCityArray.IndexOf(Temp) == -1)
     {
        FromCityArray.Add(Temp); 
     }

      

  2.   

    he he 
    void FindArrayListValue( object obj )
    {
      if( this.YouArray .container(obj)) 
        {
          this.YouArray.Add(obj)
        }
      

  3.   

    为什么不试试用HashTable,这样子比较好简单的处理这个问题。