Скажите, что у меня есть элементы (X, Y и Z) в списке, у меня есть функция, которая генерирует процент, из которых два объекта похожи друг на друга.Как выполнить функцию сравнения в C#
То, что я хочу сделать, это запустить X против Y и Z, используя мои compareElements, так:
compareElements(X,Y); // equals 55
compareElements(X,Z); // equals 60
Тогда Y против X и Z
compareElements(Y,X); // equals 55
compareElements(Y,Z); // equals 62
Тогда Z против Y и X
compareElements(Z,X); // equals 60
compareElements(Z,Y); // equals 62
Затем я вернусь наибольшее значение, которое 62.
Очевидно, что там есть повторение, мне не нужно повторение, но я не уверен, как его устранить.
Как структурировать мой запрос LINQ или функцию/алгоритм для этого сравнения для каждого элемента без повторения?
Я бы предпочел использовать LINQ, если смогу, поскольку мне передают перечислимое значение, и функция возвращается до того, как список фактически перечислит, поэтому мы можем сэкономить стоимость выполнения сравнения, пока список не будет перечислен ,
Все, что мне нужно, что наибольшее значение, из сравнить функции 62.
Примечание: Мой фактический набор результатов я работаю со средними значениями от 3 до 10 элементов в списке, что нужно быть побежал через эту функцию сравнения.
У вас есть список> или аналогичный? или как у вас есть элементы X, Y, Z? –
Вам также нужно знать, какой из двух объектов привел к наибольшему значению? –
Если вам нужен только самый высокий элемент, не можете ли вы просто использовать List.Sort(). Last()? –