@CSharpChatЭта группа больше не существует

Страница 352 из 1888
Илья
15.02.2017
18:28:25
В том что я никак не придумаю алгоритм...

Очень запутано выходит

Sergey
15.02.2017
18:29:10
Весь алгоритм - один цикл фор

Сергей
15.02.2017
18:29:31
Массивы всегда одной длины?

Google
Илья
15.02.2017
18:29:52
Весь алгоритм - один цикл фор
Ну так покажи мне этот цикл

Sergey
15.02.2017
18:30:25
Ну так покажи мне этот цикл
ты серьезно или тралируешь?

Илья
15.02.2017
18:30:32
А что? Если такой умный - так покажи это. Сказать что тут вот всего один цикл - любой может. А ты попробуй напиши код. Там все не так просто. Я уже час над этим думаю.

Sergey
15.02.2017
18:34:03
масс1 масс2 от 1 до х новыйдикшари.адд = масс1[i], масс2[i]

масс1, масс2 из стрингсплита

хуй знает что ты там час думаешь

Илья
15.02.2017
18:34:44
Какой еще стрингсплит?

?

Где ты массивы взял

Sergey
15.02.2017
18:35:21
"key1": [ 1, 2, 3 ], "key2": [ 4, 5, 6 ]

Илья
15.02.2017
18:35:26
и?

Google
Sergey
15.02.2017
18:35:58
исходные данные что у тебя?

Илья
15.02.2017
18:35:59
Что ты там сплитишь?

Я уже говорил: из Dictionary<string, IEnumerable> в IEnumerable<Dictionary<string, object>>

Ну что умник застрял тоже?))

Не так то просто

yegorf1
15.02.2017
18:43:52
А нормално, что у меня то +400 обьектов, то -400?



yegorf1
15.02.2017
18:49:29
Ну может это типично

Axm
15.02.2017
18:50:36
Для чего типично? Для рандомного кода?

Sergey
15.02.2017
18:51:28
Ну что умник застрял тоже?))
сча доеду - напишу, не ссы

Сергей
15.02.2017
18:54:02
http://take.ms/X93HD

Ilya
15.02.2017
18:54:16
если говоришь что там фиксированное количество элемнтов, то взлетит, а если нет то мне думать лень

Дмитрий
15.02.2017
18:54:18
только я хз откуда ты размер массивы берёшь
можно взять как int count = dict.Min(item => item.Value.Length);

Ilya
15.02.2017
18:54:54
можно взять как int count = dict.Min(item => item.Value.Length);
да по всякому можно, только что бы он там не делал, что-то там не так раз такую херню делать приходится

Sergey
15.02.2017
18:58:01
ну епта, я тут пальцы ломаю с мобилы набираю :)

Google
Илья
15.02.2017
18:59:02
О круто, спасибо должно сработать! Кстати что за LINQPad? :D Да еще в такую красивую табличку выводит. Прикольно. ?

Сергей
15.02.2017
18:59:12


Илья
15.02.2017
18:59:22
Sergey
15.02.2017
18:59:36
Dictionary<string, list<int>> source = new dictionary<string, list<int>>(); List<dictionary<string, int>> target = new list<dictionary<string, int>>(); foreach (keyvaluepair<string, list<int>> x in source) { dictionary<string, int> tmp = new dictionary<string, int>(); foreach (int y in x.value) { tmp.add(x.key, y); } target.add(tmp); }

Sergey
15.02.2017
19:00:11
как-то так вышло, но я не проверял. как конпелятор на виндофон завезут, тогда и заживем

Илья
15.02.2017
19:00:19
ну эта табличка главная фича линкпада
линкпад? Я думал на C# можно только в Visual Studio кодить. ?

Ilya
15.02.2017
19:00:41
тут не кодить, тут быстро написать + работа с данными

Дмитрий
15.02.2017
19:01:11
для всяких пятисекундных тестов, из-за которых студию запускать - долго и лень

Ilya
15.02.2017
19:01:17
в основном он для работы с данными, можно просто визулизировать объекты

Ilya
15.02.2017
19:02:24
часто приходиться сранивать объекты какие-то из данных в базе, например. Можно сериализовать обекты откуда тебе надо, потом в линкпаде высё собрать и как-то джойнить с объектами в базе данных

на самом деле применений уйма, я частный случай описал

правда в нём интелисенс платный)

и нугет

Сергей
15.02.2017
19:03:39
Вот самый короткий static IEnumerable<Dictionary<string, int>> Get(Dictionary<string, List<int>> input) { for(var i = 0; i < input.FirstOrDefault().Value.Count; i++) yield return input.ToDictionary(x => x.Key, x => x.Value[i]); }

Кто то уже пробовал использовать JavascriptServices?

Илья
15.02.2017
19:06:06
Нет, самый короткий такой: var count = dict.Select(pair => pair.Value.Length).Min(); var objects = Enumerable.Range(0, count).Select(index => dict.ToDictionary(pair => pair.Key, pair => pair.Value[index]));

Google
Ilya
15.02.2017
19:08:09
почему ты пишешь с телефона и не используешь var ??

Axm
15.02.2017
19:09:09
FirstOrDefault вернет null, если элементов не будет, надо проверку добавить или ?.

Сергей
15.02.2017
19:10:01
Да срать, еще много где может отвалиться

Тут же важен аодход

Axm
15.02.2017
19:10:53
Ilya
15.02.2017
19:11:12
а ты про тот код

Axm
15.02.2017
19:11:35
Да я не успеваю за вами, печатать еще холодно

Admin
ERROR: S client not available

Ilya
15.02.2017
19:12:04
вообще струкртура стрёмная, я бы пересмотрел подход?

Илья
15.02.2017
19:26:55
Претензии к ASP.NET MVC. ? Фигли он мне не скастил к массиву объектов запрос. Пришлось NameValueCollection самому приводить. Пришлось вот этого монстра делать.

Ilya
15.02.2017
19:31:04
ты на вьюху этот массив словарей кидаешь?

Илья
15.02.2017
19:32:00
ты на вьюху этот массив словарей кидаешь?
Нет, ты же видишь что на скрине. Я все сконвертировал в массив объектов нужного типа. А дальше просто сохраняю в БД.

Ilya
15.02.2017
19:32:41
тогда причём тут mvc то лол

Илья
15.02.2017
19:33:05
При том что данные мне с клиента в таком виде приходят.

Они должны были автоматически сконвертироваться, но нет.

Пришлось вручную.

Ilya
15.02.2017
19:34:04
вот в том-то и дело, что приходят они тебе в адекватном виде, а вот конвертишь ты их во что-то непонятное

Google
Илья
15.02.2017
19:35:01
вот в том-то и дело, что приходят они тебе в адекватном виде, а вот конвертишь ты их во что-то непонятное
Нет. Они мне приходят именно в таком виде в каком я сказал. Бля не спорь если не знаешь и не видишь то что есть у меня перед глазами.

Request.Form.AsEnumerable(typeof(MyModel), culture)

Ilya
15.02.2017
19:36:45
ну как я и сказал, что приходят они норм

ну раз тебе виднее че

Илья
15.02.2017
19:37:38
Схуя ли они норм если там в Form в каждом ключе - строка из значений разделенных запятыми. Нахуй они мне в таком виде? Мне нужны объекты модели, что я и сделал этой функцией.

Ilya
15.02.2017
19:39:22
я о другом говорил, но похер вощемта

я говорю про конвертацию Dictionary<string, int[]> в List<Dictionary<string, int»

а не про то как ты заполняешь Dictionary<string, int[]> тем что тебе с клиента пришло

Akhmed
15.02.2017
19:42:31
Илья задача интересная. Сейчас попробую помочь.

Там есть принципиальная разница - IEnumerable или массив?

Дмитрий
15.02.2017
19:43:31
Request.Form.AsEnumerable(typeof(MyModel), culture)
кстати, имхо, удобнее будет напилить реализацию на генериках, с ограничением new() на TModel

Akhmed
15.02.2017
19:44:23
ну вот мое решение с массивом получается как то так:

public IEnumerable<Dictionary<string, object» Output(Dictionary<string, object[]> input) { var length = input.First().Value.Count(); for (var i = 0; i < length; i++) { var dic= input.ToDictionary(keyValue => keyValue.Key, keyValue => keyValue.Value[i]); yield return dic; } }

Илья
15.02.2017
19:44:27
Akhmed
15.02.2017
19:44:42
ну так я не живу тут круглые сутик

ну ок

Дмитрий
15.02.2017
19:45:45
вообще, меня почему-то стойко терзают смутные сомнения, что всё должно как-то проще работать, без вот этой вот линкомагии

Илья
15.02.2017
19:46:51
кстати, имхо, удобнее будет напилить реализацию на генериках, с ограничением new() на TModel
Мой вариант более базовый. Не всегда есть возможность в коде задать тип, иногда есть только Type. А вот typeof всегда можно сделать. Ну а поверх моего варианта уже можно написать вариант с генериком если надо. Одна строка, вызывающая мой метод.

Akhmed
15.02.2017
19:48:42
var count = dict.Select(pair => pair.Value.Length).Min(); А так сделано из за того что там могут быть массивы разной длины?

Страница 352 из 1888

Эта группа больше не существует Эта группа больше не существует