我有一个名为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
答案 0 :(得分:1)
这里有什么问题?
建议使用Linq / lambda而不是常规For循环,并在属性提取中使用“Parallel.For each”和“synclock”。也可以使用KeyValue Pair类型来存储结果属性,而不是使用超链接。 ReadOnly结果列表也可以提高性能。
答案 1 :(得分: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