powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Можно ли на Linq2Objects сделать такое
9 сообщений из 9, страница 1 из 1
Можно ли на Linq2Objects сделать такое
    #38801175
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть класс
Код: c#
1.
2.
3.
4.
5.
6.
class Record
{
   int ID,
   int ParkingID
   ....
}



есть List<Record>

Мне надо пересортировать список так, чтобы, к примеру, все записи с ParkingID == 3 были первыми
...
Рейтинг: 0 / 0
Можно ли на Linq2Objects сделать такое
    #38801204
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tual,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
class Program
{
    private static void Main()
    {
        var records = new List<Record>
        {
            new Record {ID = 1, ParkingID = 5},
            new Record {ID = 7, ParkingID = 6},
            new Record {ID = 4, ParkingID = 3},
            new Record {ID = 3, ParkingID = 2},
            new Record {ID = 2, ParkingID = 3},
            new Record {ID = 8, ParkingID = 4},
            new Record {ID = 6, ParkingID = 7},
            new Record {ID = 5, ParkingID = 1}
        };

        records.Sort((x, y) =>
        {
            if (y.ParkingID == 3) return 1;
            if (x.ParkingID == 3) return -1;

            return x.ID.CompareTo(y.ID);
        });

        foreach (Record record in records)
        {
            Console.WriteLine("ID: {0}, ParkingID: {1}", record.ID, record.ParkingID);
        }

        Console.ReadKey();
    }
}
...
Рейтинг: 0 / 0
Можно ли на Linq2Objects сделать такое
    #38801227
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
items.OrderBy(item => item.ParkingID == 3 ? 0 : 1)
...
Рейтинг: 0 / 0
Можно ли на Linq2Objects сделать такое
    #38801233
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, зачем цеплять Linq, когда List<T> поддерживает сортировку?

Ну и OrderBy не сортирует сам список, а "надо пересортировать список так, чтобы, к примеру, все записи с ParkingID == 3 были первыми".
...
Рейтинг: 0 / 0
Можно ли на Linq2Objects сделать такое
    #38801254
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, значит компарера по интам достаточно
...
Рейтинг: 0 / 0
Можно ли на Linq2Objects сделать такое
    #38801271
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tualспасибо, значит компарера по интам достаточноНу да, можно IComparer<Record> реализовать, можно метод статический, а можно как я написал выше.
...
Рейтинг: 0 / 0
Можно ли на Linq2Objects сделать такое
    #38801459
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей К, зачем цеплять Linq, когда List<T> поддерживает сортировку?

Ну и OrderBy не сортирует сам список, а "надо пересортировать список так, чтобы, к примеру, все записи с ParkingID == 3 были первыми".Вопрос про Linq2Objects. :-)
Код: c#
1.
2.
List<Record> items = new ...
items = items.OrderBy(item => item.ParkingID == 3 ? 0 : 1).ToList();
...
Рейтинг: 0 / 0
Можно ли на Linq2Objects сделать такое
    #38811723
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К
Код: c#
1.
items.OrderBy(item => item.ParkingID == 3 ? 0 : 1)




Извращусь

var desired_id = 3;

items.OrderBy(item => Math.Max(item.ParkingID - desired_id,-(item.ParkingID - desired_id) )
...
Рейтинг: 0 / 0
Можно ли на Linq2Objects сделать такое
    #38811727
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
items.OrderBy(item => Math.Max(item.ParkingID - desired_id,-(item.ParkingID - desired_id)))
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Можно ли на Linq2Objects сделать такое
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]