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

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

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

在添加新控件之前,我需要检查数组列表中是否已经存在控件。我该怎么做,因为 .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 

最佳答案

也许这会起作用:

object[] items = al.ToArray();

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

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

关于c# - 如何在控件的 ArrayList 上正确使用 Contains 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12504123/

相关文章:

c# - 从 webbrowser 控件复制所有文本

c# - 从代码 C# 更改 Web.Config 中的 URL 重写规则

c# Linq select join on select group by 收藏

c# - 不兼容可访问性错误,这是什么意思?

asp.net - 在asp.net中访问网站根文件夹之外的文件夹

c# - 如何使用 Ssl Stream 获取/存储客户端证书?

c# - Socket.SetSocketOption 在 Mac OS 和 Linux 上抛出无效参数异常,但在 Windows 上工作正常

.net - 使用自定义应用程序分发 microsoft.visualstudio.texttemplating.dll

c# - 在 POST 中从表单序列化备用属性名称

C# 4 延迟加载和延迟<T>