Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?  [new]
iskatelsql
Member

Откуда:
Сообщений: 785
есть массив

double[] m = new double {1,2,3,4,5,6,7,8,9}


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

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

double[,] m1 = new double { {1,2,3}, {4,5,6},{7,8,9}}

//или

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


Вобщем не суть, главное чтоб разбить массив по тройкам. В цикле впринципе не сложно, но заманчиво написать это одной строкой на LINQ, ибо часто приходится.
9 ноя 18, 20:53    [21730121]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?  [new]
Dima T
Member

Откуда:
Сообщений: 13869
iskatelsql
заманчиво написать это одной строкой на LINQ, ибо часто приходится.

Если надо часто, то LINQ не панацея, тот еще тормоз. Напиши свою функцию разбивки и ее используй.
9 ноя 18, 20:57    [21730124]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Dima T
iskatelsql
заманчиво написать это одной строкой на LINQ, ибо часто приходится.

Если надо часто, то LINQ не панацея, тот еще тормоз. Напиши свою функцию разбивки и ее используй.
+1
Что за линкомания все на линке писать.
9 ноя 18, 21:00    [21730127]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
iskatelsql
ибо часто приходится.
неужели это первый библиотечный метод в проекте.
9 ноя 18, 21:01    [21730128]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
iskatelsql
Member

Откуда:
Сообщений: 785
Dima T
Если надо часто, то LINQ не панацея, тот еще тормоз. Напиши свою функцию разбивки и ее используй.


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

а скорость значения не имеет.
9 ноя 18, 21:01    [21730129]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
iskatelsql
уже привык не копипастить,
public static class
9 ноя 18, 21:04    [21730131]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
iskatelsql
Member

Откуда:
Сообщений: 785
Petro123
iskatelsql
уже привык не копипастить,
public static class


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

ЗЫ. это вы все так намекаете что так через LINQ сделать не возможно, или "синдром вахтера" включился?
9 ноя 18, 21:08    [21730133]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145636
Linq - волшебная страна.


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());
9 ноя 18, 22:30    [21730170]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145636
m.Count()-1

но и без этого работает Картинка с другого сайта.
9 ноя 18, 22:36    [21730176]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145636
Petro123
Dima T
пропущено...

Если надо часто, то LINQ не панацея, тот еще тормоз. Напиши свою функцию разбивки и ее используй.
+1
Что за линкомания все на линке писать.

Красиво же!
9 ноя 18, 22:53    [21730182]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
iskatelsql
Member

Откуда:
Сообщений: 785
Cat2,

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


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


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

Вы за что боретесь то? за производительность? запускал пустой цикл - загрузка проца 13 поцентов... ну и где тут производительность, на сях пустой цикл все бы сожрал...
9 ноя 18, 23:09    [21730188]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Cat2
Красиво же!
гдето читал что MS не рекомендует увлекаться).
Ссыль не найду. Не знал тогда что не поверите)
9 ноя 18, 23:22    [21730194]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
iskatelsql
на сях пустой цикл все бы сожрал...
зуб даю что внутри linq цикл)
9 ноя 18, 23:23    [21730197]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145636
iskatelsql
дануваснафиг.

Ну что Вы так сразу озлобились и ругаться начали? Еще и "Вахтерами" всех обозвали. Народ считает, что линку не надо пихать везде и это правильное мнение. Картинка с другого сайта.
9 ноя 18, 23:25    [21730198]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
iskatelsql
долго вкуривать пришлось как именно...
вот именно.
В java тоже грешат многострочием, но оправдание что любой нуб должен код понимать.
9 ноя 18, 23:25    [21730200]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Cat2
озлобились
не. Он по доброму. Пятница)
9 ноя 18, 23:27    [21730204]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145636
Petro123
iskatelsql
на сях пустой цикл все бы сожрал...
зуб даю что внутри linq цикл)

Конечно. Skip(s).Take(t) - это цикл for (int i=s; i<s+t; i++)
9 ноя 18, 23:28    [21730205]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
iskatelsql
Member

Откуда:
Сообщений: 785
Cat2
Народ считает


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

отстаньте от нуба со соим холиваром!
9 ноя 18, 23:28    [21730206]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
iskatelsql
Member

Откуда:
Сообщений: 785
Ясно, пятница...

я написал, что запускал пустой цикл что в теории должно съесть все ресурсы, но шарп ест только процентов 13. и заставить его есть больше мне не удалось.
9 ноя 18, 23:31    [21730208]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145636
iskatelsql
Ясно, пятница...

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

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

Пользователи будут приятно удивлены уже на 1000 потоков
9 ноя 18, 23:50    [21730220]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20468
iskatelsql
но заманчиво написать это одной строкой на LINQ
боги дали нам IEnumerable<T> и методы расширения. Напиши свой.
9 ноя 18, 23:52    [21730223]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145636
iskatelsql
Cat2
Народ считает


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

отстаньте от нуба со соим холиваром!

Ответ дан, теперь, по традиции, можно и похоливарить Картинка с другого сайта.
9 ноя 18, 23:56    [21730228]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?  [new]
LR
Member

Откуда: 8P8C
Сообщений: 2372
iskatelsql
Ясно, пятница...

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

plink, .asparallel() - сожрет все 100%))
10 ноя 18, 00:50    [21730252]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?  [new]
Где-то в степи
Member

Откуда: Под Таганрогом
Сообщений: 4318
Старый солдат aray.copy as ровняйсь смирно + yeld по потребностям даст всем просраться..
10 ноя 18, 06:56    [21730303]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли с помощью LINQ преобразовать / разбить массив на массивы "по три"?  [new]
Dima T
Member

Откуда:
Сообщений: 13869
iskatelsql
Petro123
public static class

внутри
Shocker.Pro
IEnumerable<T> и методы расширения. Напиши свой.

И ты уже не пользователь LINQ, а можно сказать соавтор
10 ноя 18, 08:52    [21730316]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / WinForms, .Net Framework Ответить