С# работа и обработка списков. нужно список разложить на несколько списков

Регистрация
28.11.2020
Сообщения
52
Благодарностей
5
Баллы
8
Доброго времени суток!!
Помогите пожалуйста.

Задача следующая:
Нужно локальный Список0 в котором к примеру 10000 строк разложить на 10 списков по 1000 строк.
Распределить нужно равномерно, без потери очередности изначальной в базовом списке. Списки в которые раскладываем должны быть перезаписываемые.
Список1 от 1 до 1000
Список2 от 1001 до 2000
**
Список10 от 9001 до 10000
 

slavyn8213

Client
Регистрация
28.10.2018
Сообщения
247
Благодарностей
58
Баллы
28
тебе обязательно нужно это сделать в зенке? TextUtils сделает то-что тебе нужно
 
Последнее редактирование:
Регистрация
28.11.2020
Сообщения
52
Благодарностей
5
Баллы
8
тебе обязательно нужно это сделать в зенке? TextUtils сделает то-что тебе нужно
Приветствую .
Да, нужно реализовать в зеннопостере, в кубике С sharp. Помогите пожалуйста.
 
Регистрация
28.11.2020
Сообщения
52
Благодарностей
5
Баллы
8
Дорогие форумчане. Помогите пожалуйста новичку решить эту проблему.
Я делал через записывание файла на пк, потом его раскидывал, потом обратно в зенку заводил. Уверен, что можно вопрос решить как то проще и легче. Поделитесь кодом и знанием. Карма точно получше станет)
 
Последнее редактирование:

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
639
Благодарностей
581
Баллы
93
C#:
var inputList = project.Lists["Список0"]; // исходный Zenno список
var outputLists = inputList.Select((line, index) => new { line, index })
                           .GroupBy(x => x.index / 1000)
                           .Select(y => y.Select(x => x.line).ToList()).ToList();

// добавляем по 1000 строк в каждый Zenno список (списки должны быть заранее созданы)
for (int i = 1; i <= 10; i++)
{
    project.Lists[$"Список{i}"].AddRange(outputLists[i-1]);
}
 
  • Спасибо
Реакции: Биржевик
Регистрация
28.11.2020
Сообщения
52
Благодарностей
5
Баллы
8
C#:
var inputList = project.Lists["Список0"]; // исходный Zenno список
var outputLists = inputList.Select((line, index) => new { line, index })
                           .GroupBy(x => x.index / 1000)
                           .Select(y => y.Select(x => x.line).ToList()).ToList();

// добавляем по 1000 строк в каждый Zenno список (списки должны быть заранее созданы)
for (int i = 1; i <= 10; i++)
{
    project.Lists[$"Список{i}"].AddRange(outputLists[i-1]);
}
в лог ошибка выдается
Выполнение действия CSharp OwnCode. Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
 

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43
в лог ошибка выдается
Выполнение действия CSharp OwnCode. Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
C#:
var inputList = project.Lists["Список0"]; // исходный Zenno список
var outputLists = inputList.Select((line, index) => new { line, index })
                           .GroupBy(x => x.index / 1000)
                           .Select(y => y.Select(x => x.line).ToList()).ToList();


int listName = 0;//1 создаваемый лист
string path = @"C:\test\";//Путь к папке куда будут сохранены листы заканчивается слешем
foreach(var outputList in outputLists)
{
    using(var tw = File.AppendText($"{path+listName}.txt"))
    {
        foreach(var o in outputList)
        tw.WriteLine(o);
    }
    listName++;
}
 
  • Спасибо
Реакции: Биржевик

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
639
Благодарностей
581
Баллы
93
в лог ошибка выдается
Выполнение действия CSharp OwnCode. Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
 
  • Спасибо
Реакции: Биржевик
Регистрация
28.11.2020
Сообщения
52
Благодарностей
5
Баллы
8
  • Спасибо
Реакции: Ilshakin

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)