VB.NET如何获取List(Of String())类型集合中的指定元素
问题根因
你定义的QueryResults是存储字符串数组的泛型List集合,不是二维数组,不能用(行索引, 列索引)的二维数组语法访问元素。正确的访问逻辑是:先通过索引从List中取出对应的字符串数组元素,再通过数组索引访问对应位置的字符串。
你原本写的QueryResults(dataColumn, 0)是二维数组的访问方式,和你定义的集合类型不匹配,所以会报错,正确的访问语法为QueryResults(行索引)(列索引)。
优化修正后的完整代码
同时修正你代码里另外两个可优化点:
- 原循环变量命名为
dataColumn,但实际是遍历List里的每一行数据,调整命名避免逻辑混淆 - 连续给
Anchor属性赋值会覆盖之前的设置,需要用Or组合多个锚定样式
' 遍历List中的每一行数据 For rowIndex As Integer = 0 To QueryResults.Count - 1 Dim lblData As New Label tblShowAssignment.Controls.Add(lblData) lblData.Font = New Font("Arial", 10) ' 组合锚定样式,不要分开多次赋值 lblData.Anchor = AnchorStyles.Bottom Or AnchorStyles.Top Or AnchorStyles.Left Or AnchorStyles.Right lblData.TextAlign = ContentAlignment.MiddleCenter ' 正确访问语法:先取List对应位置的数组,再取数组的第0个元素(顾问姓名) If rowIndex = 0 Then lblData.Text = QueryResults(rowIndex)(0) Next
内容的提问来源于stack exchange,提问作者DomJelly
相关产品推荐
相关产品推荐

