簡體   English   中英

c#是否與Java with equals和gethashcode()有相同的問題?

[英]Does c# have the same issues like Java with equals and gethashcode()?

c#是否與Java with equals和gethashcode有相同的問題?

問題如: http//onjava.com/pub/a/onjava/2006/09/13/dont-let-hibernate-steal-your-identity.html

如果你的意思是在繼承方面很難定義平等,是的。

但是,.NET具有IEqualityComparer<T>接口,該接口經常用於相等和散列 - 用於諸如Dictionary<TKey, TValue>容器。 幾乎框架中需要相等/散列的所有內容都允許行為由IEqualityComparer<T>指定,這意味着如果類型本身給出的形式不適合您的需要,您可以表達您想要的任何相等概念。

不確定你說的是哪些問題,因為你有點模糊......

但是,如果你的意思是你應該 (如果你不想編譯器警告,或者在你的代碼可能是意外的行為)來覆蓋GetHashCode ,當你重寫Equals ,然后是。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM