Обобщенное программирование и преобразования
От: xobotik Россия  
Дата: 26.09.10 11:30
Оценка:
Всем привет!

Есть класс 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);
        }

Заранее спасибо!
С уважением!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.