C # Сортировка списка по X и Y - PullRequest
1 голос
/ 17 июля 2011

Мне нужно отсортировать список по X и Y. Я прочитал некоторые другие вопросы, чтобы отсортировать X и Y, но я не понял:

List<SomeClass>() a;
List<SomeClass> b = a.OrderBy(x => x.x).ThenBy(x => x.y).ToList();

Я имею в виду, x =>xx дает необъявленную ошибку переменной.

Вопрос в том, как: сортировать по X и Y в списке или: какую переменную иметь вместо x => xx ????

.верно, мой список выглядит так:

List<Class1> MapTiles;

и в классе: int ID, int X, int Y

Thanx.

Ответы [ 2 ]

6 голосов
/ 17 июля 2011

C # чувствителен к регистру. Вам нужно

// Note the capital letters
List<SomeClass> b = a.OrderBy(item => item.X).ThenBy(item => item.Y).ToList();
0 голосов
/ 17 июля 2011

правильный ответ на этот вопрос далева, следующее - лишь расширенное объяснение концепции, которую Маркус, возможно, не полностью понял

Простопроясните некоторые моменты, о которых говорилось в комментариях, что вы на самом деле передаете делегату для выполнения сортировки.

Следующий фрагмент

List<Item> b = a.OrderBy(item => item.X);

Похоже на создание статическогоФункция сравнения, которая сортирует, сравнивая поле (или свойство) X объекта типа Item и передавая эту функцию сравнения в функцию сортировки, как вы могли бы это сделать в C ++.

The OrderBy (...) это очень короткий и удобный способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...