Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
21.10.2016, 18:43
|
|||
---|---|---|---|
Набор диапазонов из списка чисел |
|||
#18+
нужно со списка типа: number12368911121314 сделать набор диапазонов range1-368-911-14 Можно сгруппировать по этим диапазонам и использовать функцию LINQ Aggregate(). Но вопрос в том, как вычислить ключ для группировки, как понять, что числа должны группироваться в эти диапазоны? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.10.2016, 18:52
|
|||
---|---|---|---|
|
|||
Набор диапазонов из списка чисел |
|||
#18+
Каждый элемент не самодостаточен в плане определения такого ключа, необходим просмотр как предыдущего, так и следующего элемента. Так что полюбому требуется проход по списку. А коли требуется проход - то нет никакого смысла возиться с Linq - проще написать свой цикл. Можно даже оформить его в собственный метод расширения для IEnumerable<int> и тогда можно будет спокойно встраивать его в цепочки Linq-вызовов. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.10.2016, 22:04
|
|||
---|---|---|---|
Набор диапазонов из списка чисел |
|||
#18+
_Novichok1-3 Это строковое представление диапазона? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.10.2016, 12:46
|
|||
---|---|---|---|
Набор диапазонов из списка чисел |
|||
#18+
Cat2, да. В принципе, продолжать не имеет смысла, уже у меня уже написано расширение. Правда не для IEnumerable<int>, а для List<int>. Поскольку данный метод может быть в составе других Linq-вызовов, и получение размера или элемента по индексу будет вести к тому, что каждый раз будет дергаться вся цепочка. А на больших массивах данных это будет вести к неоправданным временным затратам. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.10.2016, 17:46
|
|||
---|---|---|---|
Набор диапазонов из списка чисел |
|||
#18+
Если последовательность отсортирована по возрастанию, то из чисел нужно вычесть их порядковые номера и сгруппировать по разности. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.10.2016, 18:37
|
|||
---|---|---|---|
Набор диапазонов из списка чисел |
|||
#18+
Нахлобуч, Типа так? Код: c# 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.10.2016, 18:38
|
|||
---|---|---|---|
Набор диапазонов из списка чисел |
|||
#18+
Shocker.ProКаждый элемент не самодостаточен в плане определения такого ключа, необходим просмотр как предыдущего, так и следующего элемента. Так что полюбому требуется проход по списку. А коли требуется проход - то нет никакого смысла возиться с Linq - проще написать свой цикл. Можно даже оформить его в собственный метод расширения для IEnumerable<int> и тогда можно будет спокойно встраивать его в цепочки Linq-вызовов. Не обязательно смотреть вперёд и обратно, если коллекция отсортирована. И на чистом LINQ задача решается ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.10.2016, 12:12
|
|||
---|---|---|---|
Набор диапазонов из списка чисел |
|||
#18+
hVostt, ага. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.10.2016, 21:56
|
|||
---|---|---|---|
|
|||
Набор диапазонов из списка чисел |
|||
#18+
Дайте намёк )) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.10.2016, 09:39
|
|||
---|---|---|---|
Набор диапазонов из списка чисел |
|||
#18+
Shocker.ProДайте намёк )) ? Выше же написали.. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/search_topic.php?author=%D0%B9%D0%BE%D0%B2%D0%B0%D0%BD&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 444ms |
total: | 600ms |
0 / 0 |