vb.net使用 LINQ 扩展方法语法对集合中对控件名进行排序的并赋值
时间: 2023-08-17 22:05:06 浏览: 186
假设你有一个名为 `controlsList` 的控件集合,可以使用以下代码对其进行排序并赋值:
```
Dim sortedControls = controlsList.OrderBy(Function(c) c.Name)
Dim i As Integer = 1
For Each control As Control In sortedControls
control.Name = "Control" & i
i += 1
Next
```
此代码首先使用 LINQ 扩展方法 `OrderBy` 对 `controlsList` 进行排序,排序方式为按照控件名称进行升序排序。然后,使用 `For Each` 循环遍历排序后的控件集合,并将每个控件的名称设置为 `"Control"` 后跟一个数字,以此为其重新编号。
相关问题
vb.net使用 LINQ 扩展方法语法对集合中对文本框控件名进行排序的并赋值
假设你有一个存储文本框控件名的集合 `textBoxNames`,可以使用以下 LINQ 扩展方法语法对其进行排序并赋值:
```
Dim sortedTextBoxNames = textBoxNames.OrderBy(Function(name) name).ToList()
For i = 0 To sortedTextBoxNames.Count - 1
sortedTextBoxNames(i) = "newName" & (i + 1)
Next
' 将排序后的新控件名赋值给文本框控件
For i = 0 To sortedTextBoxNames.Count - 1
Dim tb As TextBox = Me.Controls(sortedTextBoxNames(i))
tb.Text = sortedTextBoxNames(i)
Next
```
以上代码首先使用 `OrderBy` 方法按名称对控件名进行排序,然后使用 `ToList` 方法将结果转换为列表。接下来,使用循环为排序后的每个控件名生成新的控件名,并将其赋值给 `sortedTextBoxNames` 列表中的相应元素。最后,使用 `Me.Controls` 集合获取每个文本框控件,并将新的控件名赋值给它们的 `Text` 属性。
阅读全文