Суть программы в описании машин, их характеристик и их сравнения. namespace Cars.Models { class Car { public string? Mark { get; set; } public int Cost { get; set; } public int YearOfProd { get; set; } public int Weight { get; set; } public Color Color { get; set; } public int Distance { get; set; } public override bool Equals(object? obj) { return obj is Car car && Mark == car.Mark && Cost == car.Cost && YearOfProd == car.YearOfProd && Weight == car.Weight && Color == car.Color; Этот кусок должен сравнивать две модели машин(в другом классе) и возращать бул значение, всё норм. Car Renault = new Car(); Renault.Mark = "Renault Traffic"; Renault.YearOfProd = 2000; Renault.Cost = 14000; Renault.Weight = 1500; Renault.Color = Color.Silver; Car Renault2 = new Car(); Renault.Mark = "Renault Traffic"; Renault.YearOfProd = 2000; Renault.Cost = 14000; Renault.Weight = 1500; Renault.Color = Color.Silver; А вот соответственно одинаковые машины, полностью, вывод такой: Console.WriteLine(Toyota.ToString()); Console.WriteLine(Renault.ToString()); Console.WriteLine(Renault == Renault2); При этом всём консось выводит ложь. Почему???
Сперматолог, Возможно у класса Color не переопределил Equals Проверь в дебаге, что возвращает Color == car.Color
DarKRs, уже решил Новый обьект Renault2 я создал, а вот значения присвоил Renault(по второму разу, получается)
Сперматолог, Учи тему про указатели(ссылки на объекты), это абсолютно 2 разныъ объекта хоть и похожи между собой)