powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как одомерный список преобразовать в двухменный?
9 сообщений из 9, страница 1 из 1
Как одомерный список преобразовать в двухменный?
    #38315007
2king2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть плоский список "CellDataList" формата
CellName, CellValue
ss1640100 9d , некое значение (строка 1)
ss1640100 9e , некое значение (строка 2)
...
ss1640100 12a , некое значение (строка n)
ss1640100 12b , некое значение (строка n+1)
...
ss1640100 25c , некое значение (строка n+n+1)
ss1640100 25d , некое значение (строка n+n+2)

Жирным выделены числа это код строка, а буква это столбец, как в MS Excel

Как мне на выходе получить двухмерный список. Как мне получить список с разбиением по строчкам первоначального списка?

ss1640100 9d , ss1640100 9e
ss1640100 12a , ss1640100 12b
ss1640100 25c , ss1640100 25d

Спасибо.
...
Рейтинг: 0 / 0
Как одомерный список преобразовать в двухменный?
    #38315435
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не понятно. Тебе нужно в линейном списке все нечетные значения поместить в первый элемент словаря, а четные - во второй? Напиши нормальный пример с наполнением.
...
Рейтинг: 0 / 0
Как одомерный список преобразовать в двухменный?
    #38344184
2king2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перетрубирую вопрос.

Есть IList со значениями
ss1610a
ss1610e
...
ss16401009d
ss164010012a
...

Как получить новый IList со значениями, которые по маске ssЧЧЧЧЧЧЧЧ, т.е. отсеять подобные значения ss1610a, ss1610e, и получить ss16401009d, ss164010012a? Возможно это можно реализовать через Regex, но я слабоват в программировании.
...
Рейтинг: 0 / 0
Как одомерный список преобразовать в двухменный?
    #38344458
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Либо регекс, либо крутиться в списке и проверять нужные символы на IsDigit
...
Рейтинг: 0 / 0
Как одомерный список преобразовать в двухменный?
    #38344640
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение в лоб:

Код: c#
1.
2.
var list = new List<string>(new[] { "ss1610a", "ss1610e", "ss16401009d", "ss164010012a" });
var newlist = list.Where(d => d.Length >= 10 && d.Substring(2, 8).ToCharArray().Any(value => Char.IsDigit(value))).ToList();
...
Рейтинг: 0 / 0
Как одомерный список преобразовать в двухменный?
    #38344644
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУРешение в лоб:

Код: c#
1.
2.
var list = new List<string>(new[] { "ss1610a", "ss1610e", "ss16401009d", "ss164010012a" });
var newlist = list.Where(d => d.Length >= 10 && d.Substring(2, 8).ToCharArray().All(value => Char.IsDigit(value))).ToList();
...
Рейтинг: 0 / 0
Как одомерный список преобразовать в двухменный?
    #38344918
2king2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, спасибо, вроде, что то похожее. Эх возвращаясь к теме

Вот мы получили список
ss1640100 1a
ss1640100 1b
ss1640100 1c
ss1640100 2a
ss1640100 2b
ss1640100 2c

В то что выделено жирным шрифт закодировано, число это номер строки, буква это ID столбца. Как бы из всего этого плоского списка получить таблицу

ss1640100 1a | ss1640100 1b | ss1640100 1c
--------------------+--------------------+-------------------
ss1640100 2a | ss1640100 2b | ss1640100 2c
...
Рейтинг: 0 / 0
Как одомерный список преобразовать в двухменный?
    #38345010
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
var list = new List<string>(new[] { "ss16401001c", "ss16401001b", "ss16401001a", "ss16401002a", "ss16401002b", "ss16401002c" });

var data = list
    .Select(d => new { d, i = Convert.ToInt32(d.Substring(9, 1)), j = d.Substring(10) })
    .OrderBy(d => d.i)
    .GroupBy(d => d.i)
    .Select(d => d.OrderBy(x => x.j))
    .ToList();

foreach (var result in data)
{
    foreach (var item in result)
    {
        Console.Write(item.d + " ");
    }

    Console.WriteLine();
}

Console.Read();
...
Рейтинг: 0 / 0
Как одомерный список преобразовать в двухменный?
    #38345886
2king2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Спасибки!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как одомерный список преобразовать в двухменный?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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