示例#1
0
        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));
                    }
                }
            }
        }
示例#2
0
        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));
                }
            }
        }