我只是好奇是否可以收集数据列表并将其放入列表或数组中,并使用列表中每个项目上的某个变量(如控件上的标记属性)轻松将其拉出,而不是使用指数。一个例子是,如果我在表单上有很多控件,并希望使用列表填充值,但不必交叉检查很多不同的指标(将花费很多时间)我可以只是将标签分配给某些'list like'列表项的变量。
这可能吗?
答案 0 :(得分:1)
我会使用Dictionary对象,因此您可以使用密钥轻松引用您的数据。
答案 1 :(得分:1)
您可以使用LINQ:
Dim myTagControls = From ctrl In Me.Controls.Cast(Of Control)()
Where "your-tag".Equals(ctrl.Tag)
For Each ctrl In myTagControls
Console.WriteLine("Tag:{0} Name:{1}", ctrl.Tag, ctrl.Name)
Next
答案 2 :(得分:1)
.NET中的列表(例如List(Of T)
类)仅支持每个项目存储一个对象。但是,它们的美妙之处在于,您可以存储您想要的任何类型的对象。如果需要使用数据存储元数据,只需创建一个包含每个项目的所有数据的新类。例如:
Public Class MyControlData
Public Property LabelText As String
Public Property Value As String
End Class
然后您可以将项目添加到列表中,如下所示:
Dim dataList As New List(Of MyControlData)()
Dim item As New MyControlData()
item.LabelText = "Name"
item.Value = "Bob"
dataList.Add(item)
您可以从列表中读取数据:
For Each i As MyControlData in dataList
Label1.Text = i.LabelText
TextBox1.Text = i.Value
Next