Mineodo68 Ответов: 1

Как сравнить 2 объекта списка


Привет,

Я новичок в Си#,
Я создал список объектов со свойствами и пытаюсь сравнить свойство между двумя объектами моего списка.

Например, у меня есть список автомобилей со свойствами (размер колеса, цвет автомобиля, размер автомобиля), и я хочу сравнить размер колеса для каждого автомобиля.

Я надеюсь, что мои объяснения ясны, я не совсем двуязычен, так что извините, если вы не понимаете всю мою тему ; я могу объяснить больше, если это необходимо.

Большое спасибо за вашу помощь.

Что я уже пробовал:

class MilestoneInFlight : Milestone
{
    public float MilestoneDistance { get; set; }
    public float MilestoneAltitude { get; set; }
    public string MilestoneName { get; set; }

    List<MilestoneInFlight> MilestoneInFlightList = new List<MilestoneInFlight>();

    public void AddMilestone(float dist, float alt, string name)
    {

        MilestoneInFlight milestone = new MilestoneInFlight
        {
            MilestoneDistance = dist,
            MilestoneAltitude = alt,
            MilestoneName = name,

        };

        MilestoneInFlightList.Add(milestone);
    }



    public void Deconstruct(out float dist)
    {
        dist = MilestoneDistance;
        //So here I want to compare MilestoneDistance for each MilestoneInFlight object
    }


        }
    }

1 Ответов

Рейтинг:
0

#realJSOP

Добавьте метод в свой класс автомобиля, который принимает другой объект автомобиля в качестве параметра, а затем сравнивает размер колеса, что-то вроде этого:

public class Car
{
    public int WheelSize { get; set; }

    public IsWheelSizeEqual(Car otherCar)
    {
        bool result = false;
        if (otherCar != null)
        {
            result = (this.WheelSize == otherCar.WheelSize);
        }
        return result;
    }
} 


Вы могли бы сделать этот метод намного более полезным, если бы использовали отражение и позволили вызывающему методу указать, какое свойство сравнивать для равенства.

Вы также можете написать метод расширения, который будет сравнивать все свойства в двух объектах car для равенства.

Я подозреваю, что последние две идеи выше будут намного превосходить то, что ваш инструктор ожидает от начинающего программиста C#...


Mineodo68

Здравствуйте и спасибо за вашу помощь.
То, что мне нужно будет сделать, - это посмотреть, например, размер колеса автомобиля n1 на 5 дюймов больше, чем размер колеса ne n2.
Я полагаю, что могу внести некоторые изменения в код, например :
результат = (это.Колесаразмер == otherCar.Колесный размер + 5)
Может ли это сработать ?
Большое вам спасибо, я очень ценю это