A a=new A();
if (!mylist.Contains(a))
   {   
       symmetryFuncParents.Add(a);
   }
为什么mylist.Contains(a)总为false? 请帮忙解答谢谢!

解决方案 »

  1.   

    你new了a后
    有没有加入到list啊
    mylist.Add(a);
      

  2.   

    重写
    A的
     public virtual bool Equals(object);
      

  3.   

    ArrayList al = new ArrayList();
    al.Add("xxx");
    al.Add("yyy");if(!al.Contains("xxx"))
     al.Add("xxx");-------------------------
    不会有问题啊。你把所有的代码都贴出来吧
      

  4.   

    重写 public virtual bool Equals(object); 以外还有没有办法?
      

  5.   

    这是一个很简单的问题,正如一楼所说:?你new了a后
    有没有加入到list啊
    mylist.Add(a);"如果你这样做了,那你把其他代码也贴出来。
      

  6.   

    基本没有
    ArrayList.Contains 方法  [C#]请参见
    ArrayList 类 | ArrayList 成员 | System.Collections 命名空间 | IndexOf | LastIndexOf | 在集合中执行不区分区域性的字符串操作 | ArrayList 成员(Visual J# 语法) | C++ 托管扩展编程 
    要求
    平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列, .NET Framework 精简版 - Windows CE .NET, 公共语言基础结构 (CLI) 标准
    语言
    C#C++JScriptVisual Basic全部显示
    确定某个元素是否在 ArrayList 中。[Visual Basic]
    Public Overridable Function Contains( _
       ByVal item As Object _
    ) As Boolean Implements IList.Contains[C#]
    public virtual bool Contains(
       object item
    );[C++]
    public: virtual bool Contains(
       Object* item
    );[JScript]
    public function Contains(
       item : Object
    ) : Boolean;参数
    item 
    要在 ArrayList 中查找的 Object。该值可以为空引用(Visual Basic 中为 Nothing)。 
    返回值
    如果在 ArrayList 中找到 item,则为 true;否则为 false。实现
    IList.Contains备注
    此方法执行线性搜索;因此,平均执行时间与 Count 成正比。即此方法是一种 O(n) 操作,其中 n 为 Count。此方法通过调用 Object.Equals 确定相等性。//注意这里
    要求