Fair enough, but it *will* give false positives. If the XOR operation was used on the address bytes (which i assume it would be) then you have the problem that the following two sequences generate the same hashcode:<br><br>
00001111 ^ 11110000<br><br>and<br><br>1111000 ^ 00001111.<br><br>As you can see [15, 120] is not equal to [120, 15] yet they both XOR to give 255 as the hash code. So, my advice is to change the patch to *not* use the hash code to determine equality and then attach it to an email or a bugzilla report indicating what incompatibilities it fixes. You never attached it in your first email.
<br><br>Alan.<br><br><br><div><span class="gmail_quote">On 7/24/07, <b class="gmail_sendername">Jae Stutzman</b> &lt;<a href="mailto:jaebird@gmail.com">jaebird@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Quite possible, it was a quick pass. The GetHashCode() is overridden to provide its answer based on the underlying address bytes.<div><span class="e" id="q_113fa05bd5d4fdcc_1"><br><br><div><span class="gmail_quote">On 7/24/07, 
<b class="gmail_sendername">Alan McGovern</b>
 &lt;<a href="mailto:alan.mcgovern@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">alan.mcgovern@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<span>
Doing a comparison by comparing the hashcodes sounds very broken to me.
It&#39;s quite possible for two objects to give the same hashcode without
actually being equal.<br><br>Alan.<br><br></span><div><span><span class="gmail_quote">On 7/24/07, <b class="gmail_sendername">Jae Stutzman</b> &lt;<a href="mailto:jaebird@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

jaebird@gmail.com</a>&gt; wrote:</span></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><span>
This small patch makes the Equals(...) override  more like MS behavior. First if both addresses are empty it returns true, also the comparison now uses the hashcode. This was changed as part of the porting a windows .net app.
<br><span><br>Jae<br>
</span><br></span><span>_______________________________________________<br>Mono-devel-list mailing list<br><a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

Mono-devel-list@lists.ximian.com
</a><br><a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br><br></span>

</blockquote>
</div><br>
</blockquote></div><br>
</span></div><br>_______________________________________________<br>Mono-devel-list mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com
</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br><br></blockquote>
</div><br>