|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Shocker.Proiskatelsqlкстати, Length чтоль использовать?Ты осознаешь, что Length - это просто свойство, которое можно просто прочитать, а Count() - это метод, который получит энумератор и переберет через него все ячейки массива, чтобы узнать количество элементов, которое и так лежит в Length? Конечно, многие задачи не имеют критичности в производительности, но не до такой же степени! Count() проверяет типы на ICollection<T>, IList<T> наследует ICollection<T>, по этому если делать для них, то так не будет работать, но к массивам это не относится ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 22:42 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
iskatelsql Roman Mejtes, Shocker.Pro, Если вы обратите внимание, это не мой код... я туда только *t добавил... кстати, Length чтоль использовать? а это "Получите IEnumerable<IEnumerable<T>> и легко сможете получить IEnumerable<T[]> без всяких count()." я вообще не понял Уже кидал пример: Код: 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 22:46 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
iskatelsqlДогадывался, но конкретных подтверждений не видел, кто его знает как оно внутри устроено... Теперь будем знать Нетрудно ж посмотреть исходники - https://referencesource.microsoft.com/#System.Core/System/Linq/Enumerable.cs,41ef9e39e54d0d0b ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 22:52 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
LR, я к тому что эта Length вполне могла бы содержать тотже самый Count в get. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 22:56 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
iskatelsqlя к тому что эта Length вполне могла бы содержать тотже самый Count в get.Не могла. Очевидно, Linq появился в .Net гораздо позже, чем массивы. Ну и стоило бы понимать саму суть массивов. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:04 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Shocker.Pro, я и не про Linq Count а про то что этот Length из себя представляет. некоторую переменную которая обновляется при всех операциях с массивом, замедляя эти операции, или всетаки пересчет элементов при обращении к свойству. а если пересчет, то какая нафик разница Linq это пересчет или нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:08 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
iskatelsql, Метод get свойства Array.Length имеет атрибут [MethodImpl(MethodImplOptions.InternalCall)] https://referencesource.microsoft.com/#mscorlib/system/array.cs,42e9b7616956cf94 Т.е., вероятно, это свойство реализовано на уровне операционки, а значит, быстрей в дотнете все-равно никак не сделаешь... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:13 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
iskatelsqlкоторая обновляется при всех операциях с массивом,Это при каких же операциях она обновляется? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:15 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Shocker.Proiskatelsqlкоторая обновляется при всех операциях с массивом,Это при каких же операциях она обновляется? Да, действительно)) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:22 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Shocker.Proiskatelsqlкоторая обновляется при всех операциях с массивом,Это при каких же операциях она обновляется? да хз, я прост подозреваю отсутствие подобной переменной, еще ни разу не видел чтоб подобную постоянно таскали, обычно все определения длины через пересчет. ну при прямой работе с памятью можно еще разность адресов поделить на размер элемента... я честн не заморачивался с этим, в моих нынешних задачах масивы пару сотен элементов, так что затраты времени на оптимизацию не окупятся. так, на будушее спросил ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:23 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Shocker.Proiskatelsqlкоторая обновляется при всех операциях с массивом,Это при каких же операциях она обновляется? даже если речь идет про Count, получить значение поля, это не то же самое, что перечислить все элементы, в первом случае сложность O(1), во втором O(n). Человек какую то хрень несет и не понятно, чего хочет, вариантов дали вагон и маленькую тележку ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:24 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Roman Mejtesи не понятно, чего хочет Странно у вас с пониманием... Я чего хотел давно получил, и проехал эту задачу. А вы тут все пишете, пишете, мне уведомления приходят, вот и я чтото пишу ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:26 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
iskatelsqlтак что затраты времени на оптимизацию не окупятся. так, на будушее спросилДа, преждевременная оптимизация - зло, но это когда ты морочишься и выдумываешь новый код, а когда нужно просто использовать свойство вместо перечисления - это не оптимизация - это просто здравый смысл. В Linq легко накосячить, устроив, например, цикл в цикле. Или замыкание на переменную цикла. Так что нужно четко понимать, что такое перечисление и как оно работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:27 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
iskatelsqlмне уведомления приходят,Отпишишь. Зайдешь через полгодика, перечитаешь 20 страниц и норм. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:28 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Shocker.Prom - это массив, не надо сувать Count(), где он не требуется LINQ в этом плане оптимизирован - в своих потрохах он распознает что это массив и при вызове Count() не будет пересчитывать всю коллекцию, а сразу вызовет Length - сам проверял когда-то по исходникам. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 06:35 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
fkthatShocker.Prom - это массив, не надо сувать Count(), где он не требуется LINQ в этом плане оптимизирован - в своих потрохах он распознает что это массив и при вызове Count() не будет пересчитывать всю коллекцию, а сразу вызовет Length - сам проверял когда-то по исходникам.это круто, но мое имхо в том, что не надо бы смешивать работу с массивами и коллекциями в один api. Все таки не бейсик у нас. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 07:24 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Cat2Однако не выдает то, что надо. В первом измерении уже 4 каких-то объекта. Каких-то объекта! Итак (крещендо), четыре каких-то объекта: [1,2,3] [4,5,6] [7,8,9] [10] Cat2Что мне еще местный гурии посоветую изучить? Вот это деловой разговор. Select и GroupBy уже осилены? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 09:53 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Агнец за бортомВот это деловой разговор. Select и GroupBy уже осилены? Нет пока. Я по алфавиту иду. Начал изучать Aggregate ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 17:45 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Агнец за бортомКаких-то объекта! Итак (крещендо), четыре каких-то объекта: [1,2,3] [4,5,6] [7,8,9] [10] Пианиссимо, однако 4 и 5 в объекте first 6 - в объекте second. Добраться до них непросто ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 18:14 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
iskatelsql Cat2, result1 {1,2,3}{2,3,4}{3,4,5} Вот это по нашему, по-пацански! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 18:21 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Cat2, Обыкновенный функциональный подход. С GroupBy самый изящный способ. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 18:52 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Агнец за бортомCat2, Обыкновенный функциональный подход. С GroupBy самый изящный способ. Вы мне напишите как после этого подхода получит второй элемент первого массива, из вычисленного result ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 19:07 |
|
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
|
|||
---|---|---|---|
#18+
Cat2Агнец за бортомCat2, Обыкновенный функциональный подход. С GroupBy самый изящный способ. Вы мне напишите как после этого подхода получит второй элемент первого массива, из вычисленного result Ты это... Серьезно? o_O ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 19:27 |
|
|
start [/forum/topic.php?fid=20&msg=39737087&tid=1399158]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 280ms |
total: | 421ms |
0 / 0 |