如何在控件的ArrayList上正确使用Contains方法?

时间:2012-09-19 23:09:55

标签: c# asp.net .net vb.net

我有一个asp.net控件的arraylist(文本框等)。

我需要在添加新控件之前检查arraylist中是否存在控件。我怎么能这样做,因为.Contains似乎无法在控件的ArrayList上正常工作。

这就是我要做的事情:

Private Sub AddControl(ByVal ctrl As Control)
Dim al As ArrayList = DirectCast(Session("MyControls"), ArrayList)

If Not al.Contains(ctrl) Then
 al.Add(ctrl)
 Session("MyControls") = al
End Sub 

1 个答案:

答案 0 :(得分:4)

也许这会奏效:

object[] items = al.ToArray();

bool result = items.Any(c => c.Id == ctrl.Id );

if ( !result )
{
   al.Add(ctrl);
   Session["MyControls"] = al;
}