Всем привет!
Есть класс Matrix<T>. Сохраняем в файл значения объекта этого класса вот в таком формате:
|columnCount = число колонок|;
|rowCount = число столбцов|;
|Тип данных матрицы|
|значения элементов матрицы через пробел|
Читаем данные:
public Matrix<T> Load()
{
IList<string> content = GetParameters();
int columnCount = GetInteger(content[0]);
int rowCount = GetInteger(content[1]);
string[] values = content[3].Split(' ');
Matrix<T> matrix = new Matrix<T>(rowCount, columnCount);
int index = default(int);
for (int row = 0; row < matrix.RowCount; row++)
{
for (int column = 0; column < matrix.ColumnCount; column++)
{
matrix[row, column] = values[index++]; // ошибка
}
}
return matrix;
}
Вопрос, как нам преобразовать массив значений values в массив T[]?
Тело метода GetParameters():
private IList<string> GetParameters()
{
MatchCollection matchCollection = Regex.Matches(GetContent(), "\\|(.*?)\\|");
IList<string> content = new List<string>(matchCollection.Count);
foreach (Match match in matchCollection)
{
content.Add(match.Value);
}
return content;
}
Тело метода GetInteger(string value):
private static int GetInteger(string value)
{
Match match = Regex.Match(value, "\\d+");
return Convert.ToInt32(match.Value);
}
Заранее спасибо!