如何将外部文本数据加载到C#中

本文关键字:加载 数据 文本 外部 | 更新日期: 2023-09-27 17:57:44

我有一个名为my_date.txt的文本文件,其中包含以下数据:

1 Adam
2 Steve
3 Lisa
4 Josh
..... 

文本文件可能很长。我正试图将此文本文件中包含的数据加载到C#中的数组中,以便进行操作。在sas中,我只使用输入。在VBA中,我只是引用单元格,假设我在excel中制作。但是对于C#,我完全不知道。

如何将外部文本数据加载到C#中

#1简单适用于

可以使用File.ReadAllLines将文本文件的行放入字符串数组中。

string[] names = File.ReadAllLines("C:''my_date.txt");

然后解析数据以删除名称之前的1, 2, 3, etc

for (int i = 0; i < names.Length; i++)
{
    names[i] = names[i].Split()[1];    
}

#2 LINQ

使用简单的for循环会很好,但也可以使用LINQ:

string[] names = File.ReadAllLines("C:''my_date.txt")
    .Select(str => str.Split()).Select(name => name[1]).ToArray();

如果不需要数字前缀,可以简单地使用不带Split()ReadAllLines方法

C#中,可以使用File.ReadLines方法和LINQ:

var values = File
            .ReadLines("filePath") // 1
            .Select(x => x.Split())  // 2
            .Select(x => new { Id = x[0], Name = string.Join(" ", x.Skip(1) }) // 3
            .ToArray(); // 4
  1. 读取文件中的所有行
  2. 空白处每行Split
  3. 为包含两个属性Id(数字)和Name的每一行创建一个匿名对象,我使用string.Join是因为您的名称可能包含空格。您可以使用自定义类而不是更合适的匿名类型
  4. 将结果转换为数组