|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
Друзья! Помогите решить следующую проблему: Мне необходимо передать данные из объекта DataTable Код: vbnet 1.
в двумерный массив data_ Код: vbnet 1.
Как это сделать? (не прибегая к циклам переводящим в массив по одному значению за раз) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2013, 09:39 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
Gagarin_74, .. вообще-то, гугль пишет, что построчный цикл For Each работает быстрее, нежели, например, LINQ .ToList() .... ... например http://codereview.stackexchange.com/questions/30714/faster-way-to-convert-datatable-to-list-of-class ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2013, 12:53 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
dt.Rows.CopyTo(.... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2013, 17:42 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
Действительно, даже если копировать каждое значение в массив получается достаточно быстро. Может кому пригодиЦЦа, получилось вот так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2013, 15:45 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
Gagarin_74, пипец, зачем ты спрашивал про "без циклов"? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2013, 15:50 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
Pallaris, Ну так это... Я думал цыклами это долго будет. А оказалось что дольше из сети запрос выкачивать чем массив цыклом заполнять. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2013, 05:45 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
Gagarin_74Я думал цыклами это долго будет. А без циклов - это подразумевался linq? А в linq, надо думать, эти преобразования святым духом делаются? Открою страшную тайну: унутре ентой линкью всё те же циклы. И, бывает, (см. выше) менее оптимальные, чем написанные руками. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2013, 06:06 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
Сон Веры Павловны...Открою страшную тайну: унутре ентой линкью всё те же циклы. И, бывает, (см. выше) менее оптимальные, чем написанные руками.+100500... Вот потому я эту ленивую кю и не применяю. Циклами оно как-то сподручнее, ди и контроля больше, ежели и нарвешься на баг, так на свой, а не на баг того индуса, что цикл в ленивом кю нарисовал ... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2013, 21:17 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
Alex Kuznetsov, просто не умеешь это готовить, особенно сложные конструкции LINQ :) Читаемость и красота кода чаще выше, чем экономия пары процессорных тиков по сравнению с говнокодом из сотни строк кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2013, 21:34 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
МСУЧитаемость и красота кода чаще выше, чем экономия пары процессорных тиков по сравнению с говнокодом из сотни строк кода. Согласен, поэтому сам я linq использую часто и с удовольствием. Но тут вот автор как раз пожелал мегаоптимизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 05:48 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныНо тут вот автор как раз пожелал мегаоптимизации двумерный нетипизированный массив слабо вяжется с мегаоптимизацией ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 11:33 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
Изопропил, да ничего там страшного нет, массив - цепочка указателей в памяти - выстроенная в ряд где первый указатель является указателем на сам массив ( утрировано),а сами объекты могут быть разбросаны по всей куче, весь продукт программирования держится на циклах автору конечно это не ведомо, по этому работа с массивами быстра и оптимальна - смещение на размер указателя и получаем следующий, да и у самой идеи говнопреобразования ноги растут от использования DT, кто по продвинутей уж давно забыли что это.. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 12:15 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныНо тут вот автор как раз пожелал мегаоптимизации. Использование исходного DataTable уже как-то не вяжется с оптимизацией :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 12:20 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
МСУ, Знаешь, я этого "LINQ" наелся в ABAP так что мама не горюй, там ентого ленивого кю - ну просто завались. Пишешь в ABAP SELECT, а препроцессор перелопачивает его в обыкновенный SELECT к базе, а потом в зависимости от того что и как ты нарисовал либо тебе типизированный массив соорудит, либо курсор замутит и по одной записи будет вываливать. Работаешь с внутренней таблицей с помощью LOOP ... WHERE... и вот тебе опять аля ленивый кю. Только вот всё это хозяйство было придумано задолго до .NET. А взять тот-же Clipper, FoxPro и т.д. Эххх, какие времена были-то а??? Головой надо было много работать... А нынче что? Надо тебе по условию из массива объектов выборку -да пожалуйста вот тебе и LINQ в подмогу, нарисовал select и всех делов, а что там и как, да нахрена молодёжи знать-то... А потом голову ломают при чуть более сложной выборке и требованиям по скорости... В общем, я то не против LINQ как такового, просто нужно понимать что это и для чего, а сам понимаешь, и думаю согласишься, что без знания основ и их глубокого понимания далеко не уедешь... Да и к тому-же для простого перегона из DataTable в object[x,y] достаточно простого цикла... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 17:23 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
Alex KuznetsovЗнаешь, я этого "LINQ" наелся в ABAP так что мама не горюй, там ентого ленивого кю - ну просто завались Не первый раз замечаю, что ты ставишь акцент на ленивость. Причем тут LINQ и Lazy? Alex KuznetsovТолько вот всё это хозяйство было придумано задолго до .NET. Лично мне LINQ очень сильно облегчает жизнь, это очень сильная технология, без которой я бы даже посмел назвать джаву УГ. Alex KuznetsovА нынче что? Надо тебе по условию из массива объектов выборку -да пожалуйста вот тебе и LINQ в подмогу, нарисовал select и всех делов, а что там и как, да нахрена молодёжи знать-то... А потом голову ломают при чуть более сложной выборке и требованиям по скорости... О какой скорости идет речь? Экономия на десятке процессорных тиков? Я не пишу какой-либо драйвер с нетривиальной алгоритмической оптимизацией. Экономия на коллекции из сотни миллионов элементов? Тогда разумный вопрос, что такая коллекция делает в твоем .NET приложении. Alex KuznetsovВ общем, я то не против LINQ как такового, просто нужно понимать что это и для чего, а сам понимаешь, и думаю согласишься, что без знания основ и их глубокого понимания далеко не уедешь... Ну в программировании в любом случае нужно понимать, для чего нужен тот или иной механизм. И не важно, LINQ ли это или какой-нибудь Reflection. Alex KuznetsovДа и к тому-же для простого перегона из DataTable в object[x,y] достаточно простого цикла... Зачем простой цикл? LINQ делает наш код более читабельным и ремонтопригодным. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 19:32 |
|
Из DataTable в двумерный массив
|
|||
---|---|---|---|
#18+
МСУНе первый раз замечаю, что ты ставишь акцент на ленивость. Причем тут LINQ и Lazy?Я про Lazy ничего не писал, ЛЕНИВЫЙ КЮ - это всего-лишь прикольное звучание от ЛИНКЬЮ, ну вот захотелось мне так... МСУЛично мне LINQ очень сильно облегчает жизнь, это очень сильная технология, без которой я бы даже посмел назвать джаву УГ. Оченна рад за тебя. А вот птичку нашу обижать не надо (это я про джаву) МСУО какой скорости идет речь? Экономия на десятке процессорных тиков? Я не пишу какой-либо драйвер с нетривиальной алгоритмической оптимизацией.Скорости, которая тратится на рефлексию и иже с ней... Да, не спорю, удобно нарисовать один селект нежели рисовать цикл и в нём прописывать логику выбора нужных записей, тем не менее, ещё раз повторю, надо понимать основы (это не к тебе) прежде чем использовать подобные мощные инструменты... МСУЭкономия на коллекции из сотни миллионов элементов? Тогда разумный вопрос, что такая коллекция делает в твоем .NET приложении. За подобные "коллекции" я даю сильного пинка под зад с занесением, так сказать... МСУЗачем простой цикл? LINQ делает наш код более читабельным и ремонтопригодным. Кому поп, кому попадья, а кому попова дочка... Ну консервативен и занудлив я в некоторых вопросах... ну вот таков я... что-ж поделать-то ... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 21:17 |
|
|
start [/forum/topic.php?fid=20&msg=38467943&tid=1403672]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 332ms |
total: | 488ms |
0 / 0 |