Помогите перевести кусок кода с C++ на C#
Перевел всю программу, за исключением этого куска и не могу корректно его реализовать Реализация на C++
std::vector<std::pair<long long, int>> r;
sort(r.begin(), r.end(), [](const pair<long long, int>& a, const pair<long long, int>& b) {
if (a.first == b.first) return a.second < b.second;
return a.first < b.first;
});
Есть люди которые идут через коридор. Коридор состоит из комнат и дверей "_" - комната "|" - дверь. Если людей более одного, то между первым и последним человеком не должно быть более одной комнаты. Все операции с дверями записываются в бортовой журнал. Открытие двери записывается в виде "о#", а закрытие - в виде "з#", где # это порядковый номер двери в коридоре считая с начала коридора. Нумерация дверей начинается с единицы. Записи в журнале ведутся в одну строку и разделяются пробелами.
Sample Input:
_|_
1
Sample Output:
о1
Ответы (1 шт):
Для сортировки наборов сложных объектов применяется интерфейс IComparable.
Метод CompareTo предназначен для сравнения текущего объекта с объектом, который передается в качестве параметра object o. На выходе он возвращает целое число, которое может иметь одно из трех значений:
Меньше нуля. Значит, текущий объект должен находиться перед объектом, который передается в качестве параметра
Равен нулю. Значит, оба объекта равны
Больше нуля. Значит, текущий объект должен находиться после объекта, передаваемого в качестве параметра