我有一个ipendpoint a和b,它们的ipaddress和port完全相同,但是==运算符在ipendpoint上没有返回true。为了让事情变得更奇怪,我试图通过单独比较ipaddress和port来规避这个问题,但它仍然没有返回真值。
以前有人遇到过吗?如果是的话,我会全神贯注地执行解决方案。我们有多达10k个ipendpoint的集合,并且正在通过linq(plinq)查询它们。

最佳答案

IPEndPointIPAddress都不实现==运算符。默认情况下,==运算符比较两个对象是否是相同的引用,而不是它们是否表示相同的值。
改用IPAddress.Equals/IPEndPoint.Equals方法。

07-26 09:13