从文本文件中拆分不同的变量

时间:2014-04-23 14:27:02

标签: c# file variables split txtextcontrol

我有一个包含Number,Name,LastName的文本文件,如下所示;

11, Ali, Guner
32, Ali, ikinci
39, Metin, Tekin

我需要将它分成一个类的3个不同部分。我怎样才能做到这一点? 我的创建代码是:

string[] lines = { "11, Ali, Guner", "32, Ali, ikinci", "39, Metin, Tekin" };
System.IO.File.WriteAllLines(@"C:\Users\Public\TestFolder\WriteLines.txt", lines);

我想在一个名为person的类中拥有所有这些信息。我将创建一个对象,并能够调用_person1.name

1 个答案:

答案 0 :(得分:1)

您可以使用File.ReadLines + String.Split

IEnumerable<string[]> allLineFields = File.ReadLines(path)
    .Select(l => l.Split(','));

如果您想要具有正确类型的可读属性,则应使用自定义类:

IEnumerable<User> allPeople = File.ReadLines(path)
    .Select(l => l.Split(','))
    .Where(arr => arr.Length == 3)
    .Select(arr => new User
    {
        Age = int.Parse(arr[0]), // use int.TryParse to check if it's valid
        FirstName = arr[1],
        LastName = arr[2]
    });

这样的课程User

public class User
{
    public object FirstName { get; set; }
    public object LastName { get; set; }
    public int Age { get; set; }
}