0

我有 2 个列表(字符串)。让我们称它们为 myList1 和 myList2。这些列表(字符串)中的每一个都根据用户操作添加和删除项目。在代码的其他地方,我用这两个 List(of String) 之一的名称填充了一个字符串变量。让我们称之为 myString。

所以让我们说myString = "myList2"。我将如何仅从该字符串值中获取 myList2 中的项目数?我是否必须在 myString 上使用某种DirectCast()或?CType()

4

2 回答 2

3

有几个选择。

1:

Select Case myString
  Case "myList1"
    Return myList1.Count
  Case "myList2"
    Return myList2.Count
End Select

2:将列表存储在字典中:

Dim myDictionary As Dictionary(Of String, List(Of String)) = New Dictionary(Of String, List(Of String))

myDictionary.Add("myList1", New List(Of String))
myDictionary.Add("myList2", New List(Of String))
...
Return myDictionary(myString).Count

在这种情况下避免反射。它是不必要的,会导致糟糕的代码。

于 2012-12-07T23:30:14.843 回答
0

如果没有大量的反思,你将无法做到这一点。最好保存一个计数变量:

Dim listCount = myList2.Count
于 2012-12-07T23:30:45.440 回答