/// <summary> /// Returns a hash code for this instance. /// </summary> /// <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns> public override int GetHashCode() { unchecked { var hashCode = InstructionAddress.GetHashCode(); if (OpCode.Any()) { hashCode = (hashCode * 397) ^ (OpCode != null ? OpCode.Aggregate((b, b1) => (byte)(b ^ b1)) : 0); } hashCode = (hashCode * 397) ^ (OpCodeMnemonic != null ? OpCodeMnemonic.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (DisassemblyNote != null ? DisassemblyNote.GetHashCode() : 0); return(hashCode); } }