
Илья
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?

Axm
15.02.2017
18:49:15
Во все, понял как надо чтобы было:
Было:
{
"key1": [ 1, 2, 3 ],
"key2": [ 4, 5, 6 ]
}
Стало:
[
{
"key1": 1,
"key2": 4
},
{
"key1": 2,
"key2": 5
},
{
"key1": 3,
"key2": 6
}
]
Дойду домой, напишу

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

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

Sergey
15.02.2017
18:51:28

Ilya
15.02.2017
18:52:51
Во все, понял как надо чтобы было:
Было:
{
"key1": [ 1, 2, 3 ],
"key2": [ 4, 5, 6 ]
}
Стало:
[
{
"key1": 1,
"key2": 4
},
{
"key1": 2,
"key2": 5
},
{
"key1": 3,
"key2": 6
}
]
только я хз откуда ты размер массивы берёшь
я там захардкодил

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

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

Дмитрий
15.02.2017
18:54:18

Ilya
15.02.2017
18:54:54

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);
}

Ilya
15.02.2017
18:59:50

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

Илья
15.02.2017
19:00:19

Дмитрий
15.02.2017
19:00:26

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

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

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

Дмитрий
15.02.2017
19:01:25

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]));

Ilya
15.02.2017
19:07:46

Google

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

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

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

Ilya
15.02.2017
19:10:19

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 самому приводить. Пришлось вот этого монстра делать.

Дмитрий
15.02.2017
19:28:55

Илья
15.02.2017
19:29:52

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

Ilya
15.02.2017
19:34:44

Илья
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

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

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