DROOMBLE
@DROOMBLE

Как разделить данных из Listbox?

Здравствуйте!
Есть listbox в нем находятся данные к примеру 1000 items. Как разбить эти данные на N частей и сохранить в файлы?
  • Вопрос задан
  • 308 просмотров
Решения вопроса 1
lexxpavlov
@lexxpavlov
Программист, преподаватель
Метод-расширение для разделения на несколько частей:
using System.Collections.Generic;
using System.Linq;

namespace Helpers
{
    public static class ArrayHelperExtensions
    {
        public static IEnumerable<IEnumerable<T>> Split<T>(this T[] array, int size)
        {
            for (var i = 0; i < (float) array.Length/size; i++)
            {
                yield return array.Skip(i*size).Take(size);
            }
        }
    }
}

Теперь берём массив и делим его на нужное кол-во частей:
var num = 3;
var parts = listbox1.Items.Split(num);

Дальше осталось записать в файлы.

Решение отсюда.
Указанный способ не самый быстрый, есть более быстрые способы - см. тут.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@alex_ak1
Очевидно разделить, а потом сохранить.

Как вы хотите делить их? По какому признаку?
Ответ написан
Комментировать
DROOMBLE
@DROOMBLE Автор вопроса
Признаков никаких нет! Нужно разбить данные листбокса на N файлов.
Для примера в листбоксе 1000 items их нужно разделить на 3 файла: т.е. нужно создать 1 файл с 334 строками данных, следующий файл с 334, и последний с 332.
Не понять, как реализовать сам алгоритм деления.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы