我有一个名为my_date.txt
的文本文件,其中包含以下数据:
1 Adam
2 Steve
3 Lisa
4 Josh
.....
文本文件可能很长。我试图将此文本文件中包含的数据加载到C#中的数组中,以便我可以执行操作。在sas
我只是使用输入。在VBA
我只是引用单元格,假设我在excel中创建它。但是在这里使用C#,我根本不知道。
答案 0 :(得分:3)
在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
Split
每行由空格Id
(数字)和Name
的每一行创建一个匿名对象,我使用string.Join
,因为您的名字可能包含 white-spaces < /em>。您可以使用自定义类而不是更合适的匿名类型。答案 1 :(得分:3)
#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();
如果您不需要数字前缀,则可以使用ReadAllLines
方法而不使用Split()