Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / List<int> в двумерный массив / 10 сообщений из 10, страница 1 из 1
20.11.2013, 16:15
    #38471502
Qwe.Qwe1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List<int> в двумерный массив
Как преобразовать List<int> в двумерный массив <int>[,] - нулевой элемент - порядковый номер (1, 2, 3 и т.д.), первый элемент - значение из List'а? Используя LINQ (не обязательно).
Код: c#
1.
2.
3.
4.
5.
var l = new List<int>();
l.Add(100);
l.Add(250);
l.Add(375);
<...>


То есть должен получиться массив:
[1; 100]
[2; 250]
[3; 375]
...
Рейтинг: 0 / 0
20.11.2013, 16:28
    #38471526
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List<int> в двумерный массив
Код: c#
1.
var items = list.Select((a, num) => new { num = num + 1, value = a });
...
Рейтинг: 0 / 0
20.11.2013, 16:43
    #38471541
Qwe.Qwe1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List<int> в двумерный массив
Спасибо. А если List - список двумерных массивов. Их можно по аналогии объединить в один? Пробовал ToArray() - не получилось...
Код: c#
1.
2.
3.
4.
var l = new List<int[,]>();
<цикл for...>
l.Add(new int[,] { { i + 1, iValue } };
<...>
...
Рейтинг: 0 / 0
20.11.2013, 16:47
    #38471545
Qwe.Qwe1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List<int> в двумерный массив
Да, про первый вопрос, мне надо получить в результате int[,] - это возможно?
...
Рейтинг: 0 / 0
20.11.2013, 16:52
    #38471552
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List<int> в двумерный массив
Конечно возможно. Создать свой int[,] и в цикле по IEnumerable с анонимным типом заполни его. В чем проблема?
...
Рейтинг: 0 / 0
20.11.2013, 17:00
    #38471560
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List<int> в двумерный массив
Qwe.Qwe1То есть должен получиться массив:
[1; 100]
[2; 250]
[3; 375]
У тебя неверное представление об N-мерных массивах.

Исходная постановка даст результат:

[0,0]=1
[0,1]=100
[1,0]=2
[1,1]=250
[2,0]=3
[2,1]=375

И может быть выражена кодом:

Код: c#
1.
var array = new int[,] { { 1, 100 }, { 2, 250 }, { 3, 375 } };



А то, что ты написал, больше похоже на KeyValuePair. Ты уверен, что тебе нужны именно multidimensional arrays? Для чего это тебе?
...
Рейтинг: 0 / 0
20.11.2013, 17:03
    #38471564
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List<int> в двумерный массив
Qwe.Qwe1, результат типа int[,] с помощью LINQ врядли получится сделать, но это без проблем можно выразить и без него.

Результат типа int[][] можно так получить:
Код: c#
1.
int[][] x = l.Select((num, idx) => new int[]{idx+1, num}).ToArray();
...
Рейтинг: 0 / 0
20.11.2013, 17:35
    #38471615
Qwe.Qwe1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List<int> в двумерный массив
МСУИ может быть выражена кодом:

Мне это и нужно! Спасибо.. )

2 Bazile
А это разве не LINQ с функциями расширения? Вообще, мне надо [,]... А [][] - это для чего?
...
Рейтинг: 0 / 0
20.11.2013, 17:49
    #38471627
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List<int> в двумерный массив
...
Рейтинг: 0 / 0
20.11.2013, 17:49
    #38471628
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
List<int> в двумерный массив
Qwe.Qwe1, [][] это так называемый невыровненный (jagged) массив. У него вторая размерность может быть разной для каждой "строки". Подробнее смотри в MSDN - Jagged Arrays .
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / List<int> в двумерный массив / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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