在VB.NET中选择数据结构并执行比较

时间:2011-01-14 15:28:24

标签: python vb.net

我是一名Python程序员,VB.NET新手将应用程序从Python转换为VB.NET(3.5)。

在Python中,我有一个函数,它返回一个元组列表,我在两个数据集上运行,结果如下:

data1 = [(1,"a",2),(5,"c",7)...]
data2 = [(1,"a",2),(5,"x",7)...]

然后我想检查两个数据集是否相同。 在Python中,我检查这样的相等性:

"Equal" if data1 == data2 else "Not Equal"

我想知道在VB.NET中构建数据的最简单方法。

看起来VB.NET中每个数据集的正确数据结构都是List(of Something)。

我应该创建一个Class来保存每个数据项,还是有更简单的方法?如果我这样做,我是否需要一种自定义方式来决定两个实例是否包含相同的数据?

比较两个数据集是否相等的最简单方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以使用Tuple(Of T1, T2, T3)泛型类型,也可以自己创建类 无论哪种方式,您都需要为班级创建IEqualityComparer(Of T);然后,您可以检查set1.SequenceEqual(set2, New MyComparer())

如果您创建自己的课程,则可以覆盖Equals()GetHashCode(),而不是创建IEqualityComparer

答案 1 :(得分:1)

就个人而言,我会创建一个小类来保存每个项目,然后使用List(Of ItemType)来跟踪列表。 至于比较两个相等的列表,请参见此处    Comparing two collections for equality irrespective of the order of items in them