Ошибка при копировании массива в другой массив - C#
Формулировка задачи:
Всем привет.
Моя задача: получить n-e количество элементов массива, разбив основной массив ArrayLines на определенное количество частей (вводится с клавиатуры).
Что я придумал: узнать, сколько получится строк в каждой части после разбива, после копировать массив с элементами в другой массив
Ругается на строчку Array.Clear(parts, 0, LinesInPart);
Если убрать клир, то ничего не меняется
Пробовал также чистить через parts[0] = "\0", не выходит.
Помогите, пожалуйста
int CountParts = Convert.ToInt32(numericUpDown1.Value); // выбранное количество частей
Double TotalFinishLines = Math.Floor(Convert.ToDouble(CountLines1 / CountParts));
int LinesInPart = Convert.ToInt32(TotalFinishLines); // количество строк в каждой пачке
if (LinesInPart < 100)
{
MessageBox.Show("Указано слишком большое количество частей для такого количества строк");
}
else
{
int j = 1;
while (j <= CountParts)
{
string[] parts = new string[LinesInPart]; // создаем массив для будущей части
Array.Copy(ArrayLines, parts, LinesInPart); // помещаем туда некое количество строк
parts = parts.Where(n => !string.IsNullOrWhiteSpace(n)).ToArray(); // удаляем пустые строки
FileStream fs1 = File.Create(FinishFileName+"_"+j+".txt");
fs1.Close();
File.WriteAllLines(FinishFileName + "_" + j + ".txt", parts);
Array.Clear(ArrayLines, 0, LinesInPart); // чистим основной массив для оптимизации
Array.Clear(parts, 0, LinesInPart); // чистим массив, куда вставлялись строки
j++;
}
MessageBox.Show("Complete!");
}Решение задачи: «Ошибка при копировании массива в другой массив»
textual
Листинг программы
int j = 1;
while (j <= CountParts)
{
string[] parts = new string[LinesInPart]; // создаем массив для будущей части
Array.Copy(ArrayLines, parts, LinesInPart); // помещаем туда некое количество строк
//parts = parts.Where(n => !string.IsNullOrWhiteSpace(n)).ToArray(); // удаляем пустые строки
MessageBox.Show(Convert.ToString(parts.Length)+" "+Convert.ToString(ArrayLines.Length));
FileStream fs1 = File.Create(FinishFileName + "_" + j + ".txt");
fs1.Close();
File.WriteAllLines(FinishFileName + "_" + j + ".txt", parts);
Array.Reverse(ArrayLines);
ArrayLines[(CountParts - j)/LinesInPart] = "\0";
parts = null;
j++;
}