0

私は2つのリスト(文字列の)を持っています。それらを myList1 と myList2 と呼びましょう。これらの各リスト (文字列) には、ユーザーのアクションに基づいて項目が追加および削除されます。コードの別の場所で、文字列変数に 2 つの List(of String) のいずれかの名前を入力します。それを myString と呼びましょう。

だから言ってみましょうmyString = "myList2"。その文字列値のみから myList2 のアイテム数を取得するにはどうすればよいですか? 何らかの種類のDirectCast()またはCType()myString を使用する必要がありますか?

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 に答える