I have a structure in C#:
public struct UserInfo { public string str1 { get; set; } public string str2 { get; set; }
public override int GetHashCode() { unchecked { return(str1 != null ? str1.GetHashCode() : 0) ^ (str2 != null ? str2.GetHashCode() : 0); } }