Я столкнулся с небольшой проблемой, которую я не могу понять. У меня есть обычный string[]
массив с импортом текста в нем. Каждая строка хранится в отдельном под каждым индексом. Строка обычно выглядит примерно так:
string[i] = |title1|title2|title3|title4|title5|
string[i+1] = |Word1|Word2|Word3|Word4|Word5|
Я хочу разделить эти строки и поместить их в многомерный массив . Уже подсчитано, как мне объявить размеры массива. Я хочу разделить сейчас. Я думал о том, чтобы пройти по обычному массиву с двумя циклами и искать разделитель, сохраняя слова в строке, а затем копируя их в мульти-массив.
Ребята, у вас есть идеи, как я могу это сделать,потому что это слишком хлопотно для такой маленькой вещи.
Я хочу, чтобы мульти-массив выглядел примерно так:
string[0,0] = title1,
string[0,1] = title2 etc.
string[1,0] = word1
string[1,1] = word2
Это код, который создает массив:
public string [,] SplitArrays(string [] arrayin)
{
long columns = 0;
char line = '|';
string row;
for(int i = 0; i < arrayin.Length;i++)
{
row = arrayin[i];
if (Convert.ToChar(row.Substring(0, 1)) == line)
{
for(int j = 0; j < row.Length;j++)
{
if (Convert.ToChar(row.Substring(j,(j+1))) == line)
{
columns++;
}
}
}
break;
}
int rowlength = arrayin.Length;
string[,] finalarray = new string[columns,rowlength];
И вот как далеко я продвинулся с разделением, но я немного запутался и, вероятно, запутался:
int rowcolumncount = 0;
string word = "";
bool next = false;
for(int k = 0; k < arrayin.Length; k++)
{
row = arrayin[k];
for(int l = 0; l < row.Length; l++)
{
if (Convert.ToChar(row[l]) == line)
{
for(int z = 0; next == false;)
{
if(row[z] == line)
{
next = true;
}
else
{
string part = Convert.ToString(row[z]);
word = string.Join("",part);
}
finalarray[l, rowcolumncount] = word;
rowcolumncount++;
}
}
rowcolumncount = 0;
}
}
return finalarray;
}
Основной массив содержит около 12000 строк.
Спасибо!