Как насчет ответа, который использует некоторое LINQ:
var results = from str in File.ReadAllLines(path).Skip(1)
where !String.IsNullOrEmpty(str)
let data = str.Split('|')
where data.Length == 2
select new Person { Age = Int32.Parse(data[0], NumberStyles.Integer, CultureInfo.CurrentCulture), Name = data[1] };
results
теперь IEnumerable<Person>
, что вы можете сделать ToList
или ToArray
, чтобы получить List<Person>
или Person[]
, или вы можете просто использовать результаты с циклом foreach
.
ОБНОВЛЕНИЕ: вот класс Person
, необходимый для повышения его функциональности.
public class Person
{
public int Age { get; set; }
public string Name { get; set; }
}