从文本读取坐标到数组(c#)

时间:2012-12-14 14:06:39

标签: c# arrays coordinates readline

我的目标是读取包含坐标数(在第1行中提到)和X Y值(double)的txt文件。例如:

  

2

     

4.454 3.24

     

1.23 4

我需要把这些坐标放到数组中(没有第一行) 到目前为止,我成功地阅读了文本但是没有如何放入数组。 我的数组是一个Point(双x,双y)C'tor,但我想学习如何放入普通数组。 另一个问题是我如何控制我要读的哪一行?

到目前为止的代码是

       using (StreamReader sr = File.OpenText(fileName)) 
        {
            int i = 0;
            string inputLine;
            int len = int.Parse(inputLine = sr.ReadLine());
            string[] readText = File.ReadAllLines(fileName);
            foreach (string line in File.ReadAllLines(fileName))
            {
                string[] parts = line.Split(' ');
                foreach (string part in parts)
                {
                    Console.WriteLine("{0}:{1}",i, part);    
                }
                i++;
            }
        }

谢谢大家! p.s我的第一个问题,希望不要违反论坛的规则。

2 个答案:

答案 0 :(得分:2)

这样的东西?

var points = File.ReadLines("c:\filepath")
    .Skip(1) //Ignore the 1st line
    .Select(line => line.Split(' ')) //Chop the string into x & y
    .Select(split => new Point(double.Parse(split[0]), double.Parse(split[1])); //create a point from the array

答案 1 :(得分:0)

var coordinates = File.ReadLines(fileName).Skip(1)
                    .Select(line => line.Split())
                    .Select(x=>new PointF(float.Parse(x[0]),float.Parse(x[1])))
                    .ToList();