【问题标题】:Splitting different variables from a text file从文本文件中拆分不同的变量
【发布时间】:2014-04-23 14:27:02
【问题描述】:

我有一个包含 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

【问题讨论】:

  • 你说你想把它分成三个字符串数组,但不是如何。每个数组应该代表一列还是一行?

标签: c# file variables split txtextcontrol


【解决方案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; }
}

【讨论】:

    猜你喜欢
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 2021-08-31
    相关资源
    最近更新 更多