How do you implement GetHashCode for structure with two string, when both strings are interchangeable

前端 未结 14 2027
余生分开走
余生分开走 2020-12-08 09:05

I have a structure in C#:

public struct UserInfo
{
   public string str1
   {
     get;
     set;
   }

   public string str2
   {
     get;
     set;
   }           


        
14条回答
  •  误落风尘
    2020-12-08 09:24

    Ah yes, as Gary Shutler pointed out:

    return str1.GetHashCode() + str2.GetHashCode();
    

    Can overflow. You could try casting to long as Artem suggested, or you could surround the statement in the unchecked keyword:

    return unchecked(str1.GetHashCode() + str2.GetHashCode());
    

提交回复
热议问题