1

asp.net コントロール (テキストボックスなど) の配列リストがあります。

新しいコントロールを追加する前に、コントロールが 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 
4

1 に答える 1

4

多分これはうまくいくでしょう:

object[] items = al.ToArray();

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

if ( !result )
{
   al.Add(ctrl);
   Session["MyControls"] = al;
}
于 2012-09-19T23:24:36.270 に答える