fooというクラスがあります。 Fooには何百ものプロパティがあります。 fooのすべてのインスタンスを含む(fooの)リストがあります。すべてのfooインスタンスをループし、各インスタンスのすべてのプロパティ名と値を一覧表示します。擬似コード:
for i as integer = 0 to foolist.count - 1
for each prop as property in foolist.item(i)
outstring.add(prop.name, prop.value)
each
each
回答:
回答№1は1ここの質問は何ですか?
通常のForの代わりにLinq / lambdaを使用することを提案しますプロパティフェッチ内で「Parallel.For each」と「synclock」でループします。また、outstringの代わりに、KeyValue Pair型を使用して結果プロパティを保存します。結果の読み取り専用リストもパフォーマンスを向上させる可能性があります。
回答№2の場合は0
リフレクションを使用して、プロパティを見つけて値を取得できます。リストが大きい場合、パフォーマンスが低下する場合があります。
" Get the list of properties
Dim props = GetType(Foo).GetProperties()
For Each f In foolist
" Show the value for each property
For Each p In props
Console.WriteLine("{0} - {1}", p.Name, p.GetValue(f))
Next
Next