.NET 3.x Как правильно сделать сравнение двух объектов по нескольким параметрам? - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Столкнулся тут с проблемкой - ничего не могу Сравниваю два объекта по его свойствам. Написал вот такой кодик
private bool HatchCompare(Hatch reqHatch, Hatch compHatch)
        {
            bool isEquals = false;
            
            if (Hatch)
                if (reqHatch.PatternName.Equals(compHatch.PatternName)) isEquals = true;
                else isEquals = false;
            if (HatchScale)
                if (reqHatch.PatternScale.Equals(compHatch.PatternScale)) isEquals = true;
                else isEquals = false;
 
            return isEquals;
        }
Это для AutoCad, но я объясню: Hatch - это штриховка. Две штриховки я сравниваю по двум ее свойствам. if (Hatch) и if (HatchScale) - это два булевых условия. Т.е. если надо их проверять, то далее идет проверка. В общем - мой вариант нерабочий. Косяк получается, если первое условие не совпадает, а второе совпадает. Т.е. сначала isEquals принимает значение false, а затем true и возвращает true, хотя одно из условий не верно. Подскажите как правильно написать такую проверку? Особенно если у меня больше 2-ух условий проверки.

Решение задачи: «.NET 3.x Как правильно сделать сравнение двух объектов по нескольким параметрам?»

textual
Листинг программы
private bool HatchCompare(Hatch reqHatch, Hatch compHatch)
        {
            bool isEquals = false;
            
            if (Hatch)
                if (reqHatch.PatternName.Equals(compHatch.PatternName)) isEquals = true;
                else return false;
            if (HatchScale)
                if (reqHatch.PatternScale.Equals(compHatch.PatternScale)) isEquals = true;
                else return false;
 
            return isEquals;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы