【发布时间】:2020-04-07 08:23:51
【问题描述】:
我正在尝试为我的控制台应用程序进行基本登录。我将用户数据存储在 .txt 文件中,如下所示:
ID;Name;IsAdmin。 txt 有几行。
在应用程序中,我想将用户数据存储在 struct User 数组中。我似乎找不到读取文件、拆分并将不同数据放在正确位置的方法。这是我目前所拥有的:
加载用户数据到结构数组
public static void LoadIDs()
{
int entries = FileHandling.CountRows(usersPath);
User[] users = new User[entries]; //Length depends on how many lines are in the .txt
for (int i = 0; i < users.Length; i++)
{
users[i] = new User(1,"a",false); //ID(int), name, isAdmin [This is where I want to put the data from the .txt]
}
}
阅读和分割文本
public static string ReadFileToArray(string path)
{
String input = File.ReadAllText(path);
foreach (var record in input.Split('\n'))
{
foreach (var data in record.Split(';'))
{
return data;
}
}
return null;
}
我知道这根本行不通,但我的知识还很有限,我想不出其他解决方案。
【问题讨论】:
-
您必须逐行读取文件并为每一行创建一个
User实例 -
使用 File.ReadAllLines 代替 ReadAllText
-
想想你的
ReadFileToArray正在做什么......你按行拆分,然后按;拆分每一行,然后你只返回第一件事......你为什么要想这样做吗? -
如果你想让它保持基本状态,那就太复杂了。跳过文件一起读取,只将数据存储在内存中。
-
使用
File.ReadLines而不是File.ReadAllLines
标签: c# arrays file text struct