読者です 読者をやめる 読者になる 読者になる

C#_yield return

(x,y) をwhile で回すごとに呼び出し元に結果を返している。
点だけを返しているが、コンパイラが勝手に配列(またはList )のようなものに返してくれる。

 

private IEnumerable<Point> Hoge(string filename)
{
    int x;
    int y;
    using (StreamReader read = new StreamReader(filename))
    {
     while (read.Peek() >= 0)
     {
          string[] ary = read.ReadLine().Split(',');

          int.TryParse(ary[0], out x);
          int.TryParse(ary[1], out y);

          yield return new Point(x, y);
     }
    }
}
Hoge(openFileDialog1.FileName)

 

以上。