按属性值访问自定义类型列表的元素

时间:2017-09-04 14:00:26

标签: vb.net

假设我有一个名为ControlInfo的类,它具有以下属性:

    Public Property Control As Control
    Public Property ControlState As Int32

现在我想创建一个从List中访问ControlInfo的特定实例的方法,所以我这样做:

    Public Function GetInstance(control As Control) As ControlInfo
        For Each c As ControlInfo In list
            If c.Control.Name = control.Name Then
                Return c
            End If
        Next

        Return Nothing

    End Function

是否有更好的方法可以根据自定义类的属性值从自定义类列表中访问特定实例?循环方法对性能有害吗?

Sidenote :我还考虑过除List之外的Dictionary的实现(所以我会通过一个键访问一个实例,这比循环遍历所有值要好得多),但我觉得,如果我诉诸于此,我会避免一个问题,而不是解决它。也许我是偏执狂,但我想知道其他有效的方法,并且更加确定应该/不应该做什么。

感谢。

0 个答案:

没有答案