Junior — Middle
Ինչ արդյունք է տալիս GetHashCode մեթոդի կանչը .NET-ում օբյեկտի վրա?
sobes.tech AI
Պատասխան AI-ից
GetHashCode մեթոդը .NET-ում վերադարձնում է ամբողջ թիվ (հեշ-կոդ), որը օգտագործվում է օբյեկտների արագ համեմատության համար, օրինակ՝ հեշ աղյուսակներում (Dictionary, HashSet) պահելու ժամանակ։ Դրա նախնական արժեքը ստեղծվում է օբյեկտի ներքին վիճակի հիման վրա, բայց կարող է վերագրել, որպեսզի ապահովի ճիշտ աշխատանքը հավաքածուներում և օբյեկտների համեմատության ժամանակ։
GetHashCode և Equals մեթոդների միաժամանակ վերագրելու օրինակ՝
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public override bool Equals(object obj)
{
if (obj is Person other)
return Name == other.Name && Age == other.Age;
return false;
}
public override int GetHashCode()
{
return HashCode.Combine(Name, Age);
}
}
Կարևոր է, որ Equals-ով համարվող հավասար օբյեկտները ունենան նույն հեշ-կոդը։