簡體   English   中英

c# 中包含字符串屬性的哈希對象

[英]hash objects containing string properties in c#

我需要在我的字典中創建一個自定義類作為鍵。 當鍵是字符串時,C# 使用哪種方法進行散列?

internal class Patient:IEquatable<Patient>
    {
        public string fname{ get; set; }
        public string lname{ get; set; }
      

    
        public override int GetHashCode()
        {
            return StringComparer.OrdinalIgnoreCase.GetHashCode(fname+lname);

        }

    }

這是正確的方法(連接和生成哈希),還是他們生成哈希的更好方法。

從 .NET Core 2.1 開始,您可以使用HashCode.Combine

return HashCode.Combine(fname, lname);

或者對於不區分大小寫的版本:

return HashCode.Combine(StringComparer.OrdinalIgnoreCase.GetHashCode(fname),
    StringComparer.OrdinalIgnoreCase.GetHashCode(fname));

暫無
暫無

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

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