public override IEnumerator <CommonRow> GetEnumerator() { var path = GetPath(); if (!File.Exists(path)) { throw Error.Fatal("no such file {path}"); } using (var rdr = new TextFieldParser(path) { TextFieldType = FieldType.Delimited, Delimiters = new string[] { "," }, }) { for (var id = 0; !rdr.EndOfData; ++id) { var row = rdr.ReadFields(); if (id > 0) { if (_hasid) { row = (new string[] { id.ToString() }) .Concat(row).ToArray(); } yield return(CommonConverter.ToObject(row, Heading.Fields)); } } } }
public override IEnumerator <CommonRow> GetEnumerator() { var path = GetPath(); if (!File.Exists(path)) { yield break; } using (var rdr = File.OpenText(path)) { for (var line = rdr.ReadLine(); line != null; line = rdr.ReadLine()) { yield return(CommonConverter.ToObject(new string[] { line }, Heading.Fields)); } } }