Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"? / 25 сообщений из 98, страница 1 из 4
09.11.2018, 20:53
    #39730869
iskatelsql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
есть массив

Код: c#
1.
double[] m = new double {1,2,3,4,5,6,7,8,9}



количество элементов всегда кратно трем

хотелось бы из него получить чтото вроде

Код: c#
1.
2.
3.
4.
5.
double[,] m1 = new double { {1,2,3}, {4,5,6},{7,8,9}}

//или

List<List<double>> m1 = ...



Вобщем не суть, главное чтоб разбить массив по тройкам. В цикле впринципе не сложно, но заманчиво написать это одной строкой на LINQ, ибо часто приходится.
...
Рейтинг: 0 / 0
09.11.2018, 20:57
    #39730872
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
iskatelsqlзаманчиво написать это одной строкой на LINQ, ибо часто приходится.
Если надо часто, то LINQ не панацея, тот еще тормоз. Напиши свою функцию разбивки и ее используй.
...
Рейтинг: 0 / 0
09.11.2018, 21:00
    #39730874
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Dima Tiskatelsqlзаманчиво написать это одной строкой на LINQ, ибо часто приходится.
Если надо часто, то LINQ не панацея, тот еще тормоз. Напиши свою функцию разбивки и ее используй.+1
Что за линкомания все на линке писать.
...
Рейтинг: 0 / 0
09.11.2018, 21:01
    #39730875
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
iskatelsqlибо часто приходится.неужели это первый библиотечный метод в проекте.
...
Рейтинг: 0 / 0
09.11.2018, 21:01
    #39730876
iskatelsql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Dima TЕсли надо часто, то LINQ не панацея, тот еще тормоз. Напиши свою функцию разбивки и ее используй.

часто приходится писать это... я както уже привык не копипастить, хотелось бы сходу набирать. Да и любопытство, можно ли так...

а скорость значения не имеет.
...
Рейтинг: 0 / 0
09.11.2018, 21:04
    #39730878
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
iskatelsqlуже привык не копипастить,public static class
...
Рейтинг: 0 / 0
09.11.2018, 21:08
    #39730880
iskatelsql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Petro123iskatelsqlуже привык не копипастить,public static class

Все это здорово, но уменя считай прототипирование... Вот пришла идея - жамкаю новый проект и быстренько ее пробуем, сойдет или нет.

ЗЫ. это вы все так намекаете что так через LINQ сделать не возможно, или "синдром вахтера" включился?
...
Рейтинг: 0 / 0
09.11.2018, 22:30
    #39730901
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Linq - волшебная страна.


Код: c#
1.
2.
3.
4.
double[] m = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0 };
 int t = 3;
 var v = (Enumerable.Range(0, m.Count()).Where(m0 => m0 % t == 0))
                .Select(kk => m.Skip(kk).Take(t).ToArray());
...
Рейтинг: 0 / 0
09.11.2018, 22:36
    #39730907
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Код: c#
1.
m.Count()-1


но и без этого работает
...
Рейтинг: 0 / 0
09.11.2018, 22:53
    #39730910
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Petro123Dima Tпропущено...

Если надо часто, то LINQ не панацея, тот еще тормоз. Напиши свою функцию разбивки и ее используй.+1
Что за линкомания все на линке писать.
Красиво же!
...
Рейтинг: 0 / 0
09.11.2018, 23:09
    #39730914
iskatelsql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Cat2,

Спасибо, работает, долго вкуривать пришлось как именно... (я нуб)


Petro123Что за линкомания все на линке писать.

дануваснафиг, удобно же.

Вы за что боретесь то? за производительность? запускал пустой цикл - загрузка проца 13 поцентов... ну и где тут производительность, на сях пустой цикл все бы сожрал...
...
Рейтинг: 0 / 0
09.11.2018, 23:22
    #39730918
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Cat2Красиво же!гдето читал что MS не рекомендует увлекаться).
Ссыль не найду. Не знал тогда что не поверите)
...
Рейтинг: 0 / 0
09.11.2018, 23:23
    #39730920
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
iskatelsqlна сях пустой цикл все бы сожрал...зуб даю что внутри linq цикл)
...
Рейтинг: 0 / 0
09.11.2018, 23:25
    #39730921
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
iskatelsqlдануваснафиг.
Ну что Вы так сразу озлобились и ругаться начали? Еще и "Вахтерами" всех обозвали. Народ считает, что линку не надо пихать везде и это правильное мнение.
...
Рейтинг: 0 / 0
09.11.2018, 23:25
    #39730923
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
iskatelsqlдолго вкуривать пришлось как именно...вот именно.
В java тоже грешат многострочием, но оправдание что любой нуб должен код понимать.
...
Рейтинг: 0 / 0
09.11.2018, 23:27
    #39730927
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Cat2озлобилисьне. Он по доброму. Пятница)
...
Рейтинг: 0 / 0
09.11.2018, 23:28
    #39730928
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Petro123iskatelsqlна сях пустой цикл все бы сожрал...зуб даю что внутри linq цикл)
Конечно. Skip(s).Take(t) - это цикл for (int i=s; i<s+t; i++)
...
Рейтинг: 0 / 0
09.11.2018, 23:28
    #39730929
iskatelsql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Cat2Народ считает

ну е*ана... народ считает. те кто писал linq тоже считал... что надо написать.

отстаньте от нуба со соим холиваром!
...
Рейтинг: 0 / 0
09.11.2018, 23:31
    #39730930
iskatelsql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Ясно, пятница...

я написал, что запускал пустой цикл что в теории должно съесть все ресурсы, но шарп ест только процентов 13. и заставить его есть больше мне не удалось.
...
Рейтинг: 0 / 0
09.11.2018, 23:50
    #39730938
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
iskatelsqlЯсно, пятница...

я написал, что запускал пустой цикл что в теории должно съесть все ресурсы, но шарп ест только процентов 13. и заставить его есть больше мне не удалось.
o! Для сжирания всех ресурсов запустите эти циклы в потоках, которые нужно делать в бесконечных циклах

Пользователи будут приятно удивлены уже на 1000 потоков
...
Рейтинг: 0 / 0
09.11.2018, 23:52
    #39730940
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
iskatelsqlно заманчиво написать это одной строкой на LINQбоги дали нам IEnumerable<T> и методы расширения. Напиши свой.
...
Рейтинг: 0 / 0
09.11.2018, 23:56
    #39730943
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
iskatelsqlCat2Народ считает

ну е*ана... народ считает. те кто писал linq тоже считал... что надо написать.

отстаньте от нуба со соим холиваром!
Ответ дан, теперь, по традиции, можно и похоливарить
...
Рейтинг: 0 / 0
10.11.2018, 00:50
    #39730951
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
iskatelsqlЯсно, пятница...

я написал, что запускал пустой цикл что в теории должно съесть все ресурсы, но шарп ест только процентов 13. и заставить его есть больше мне не удалось.
plink, .asparallel() - сожрет все 100%))
...
Рейтинг: 0 / 0
10.11.2018, 06:56
    #39730968
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
Старый солдат aray.copy as ровняйсь смирно + yeld по потребностям даст всем просраться..
...
Рейтинг: 0 / 0
10.11.2018, 08:52
    #39730974
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?
iskatelsql
Petro123public static class
внутри
Shocker.ProIEnumerable<T> и методы расширения. Напиши свой.
И ты уже не пользователь LINQ, а можно сказать соавтор
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"? / 25 сообщений из 98, страница 1 из 4
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]