// Överskuggar metoden GetHashCode i basklassen Object och returnerar // ett numeriskt värde av aktuellt objekt. // http://stackoverflow.com/a/263416/377476 public override int GetHashCode() { unchecked // "overflow" är ok { var hash = (int)2166136261; hash = (hash * 16777619) ^ Name?.GetHashCode() ?? 0; hash = (hash * 16777619) ^ Salary.GetHashCode(); hash = (hash * 16777619) ^ HireDay.GetHashCode(); return(hash); } }
// Implementation av interfacet IEquatable<Employee> och indikerar om aktuellt // objekt är lika med specificerat objekt. public bool Equals(Employee other) { if (other == null || GetType() != other.GetType()) { return(false); } if (ReferenceEquals(this, other)) { return(true); } if (GetHashCode() != other.GetHashCode()) { return(false); } return(string.Equals(Name, other.Name) && Salary.Equals(other.Salary) && HireDay.Equals(other.HireDay)); }
// Överskuggar metoden ToString i basklassen Object och // returnerar en textbeskrivning av anropande objekt. public override string ToString() { return(String.Format("{0}, {1:c0}, {2}", Name, Salary, HireDay.ToShortDateString())); }
// Överskuggar metoden ToString i basklassen Employee och // returnerar en textbeskrivning av anropande objekt. public override string ToString() => $"{Name}, {AnnualPay:c0}, {HireDay.ToShortDateString()}";
// Överskuggar metoden ToString i basklassen Object och returnerar // en textbeskrivning av aktuellt objekt. public override string ToString() => $"{Name}, {Salary:c0}, {HireDay.ToShortDateString()}";