示例#1
0
        private Matrix ScanMatrix(string text)
        {
            uint rows = 0, cols = 0;

            foreach (var row in Regex.Split(text, "\r\n|\r|\n"))
            {
                if (row != "")
                {
                    cols = 0;
                    foreach (var col in row.Trim().Split(' '))
                    {
                        cols++;
                    }
                    rows++;
                }
            }
            Matrix m = FactoryMatrix.CreateMatrix(rows, cols);

            rows = 0;
            foreach (var row in Regex.Split(text, "\r\n|\r|\n"))
            {
                if (row != "")
                {
                    cols = 0;
                    foreach (var col in row.Trim().Split(' '))
                    {
                        if (double.TryParse(col, out m[rows][cols++]) == false)
                        {
                            throw new ArgumentException();
                        }
                    }
                    rows++;
                }
            }
            return(m);
        }