【发布时间】:2017-03-30 09:48:49
【问题描述】:
我有一个奇怪的问题。
我使用 Visual Studio,并且正在使用 C# 开发一个项目。
我有两个自定义类“Attr”和“FD”,我使用包含它们的对象的列表,例如
List<Attr> attrList = new List<Attr>();
List<FD> fdList = new List<FD>();
所以当我试图找到两个列表的交集时,结果不是我所期望的。为了使它更简单,我尝试相交相似的对象,结果又是错误的。出了什么问题?
这是fd。它是 FD 类的对象。
这是 ff 也是 FD 类的对象。
如您所见,这些对象包含完全相同的值。
GetLeft() 方法返回一个包含 Attr 类对象的列表。
所以当我试图找到这两个列表(fd.GetLeft() 和 ff.GetLeft() )之间的交集时,结果什么都没有(应该是一个包含 Attr 对象“A”的列表)。
我错过了什么?
附:这些屏幕截图来自 Visual Studio 中的调试模式。
【问题讨论】:
-
您有一个自定义类,那么您使用什么方法进行 EQUAL?见stackoverflow.com/questions/19583793/custom-intersect-in-lambda
标签: c# visual-studio equality