我有一个文本文件,它看起来像这样得到的文本的具体线路:需要从一个文本文件C#
DeltaV User List - 17 Jun 2013
SUPPLY_CHAIN
UserID Full Name
BAINC C M B
BEEMANH H B
CERIOJI J M C
LADUCK K L
MAYC C M
NEWTONC C N
DeltaV User List - 17 Jun 2013
FERM_OPER
UserID Full Name
POULIOTM M P
TURNERM7 M T
我需要让个人用户对每一部分在C#中,我不知道该怎么做。我正在使用StreamReader类,它用于获取区域名称(所有大写字),但我似乎无法获得所有用户。我有一个用户类,有2个字符串名称&区域和我试图做一个用户对象的列表。
这是我到目前为止已经试过:(我已经申报的用户代码中的早期对象的列表)
// read user list text file
var userReader = new StreamReader(File.OpenRead(UserListPath));
while(!userReader.EndOfStream)
{
var line = userReader.ReadLine();
var newUser = new User();
if(line.Contains("DeltaV User List"))
{
var Area = userReader.ReadLine();
newUser.Area = Area;
userReader.ReadLine();
userReader.ReadLine();
userReader.ReadLine();
var userid = userReader.ReadLine();
Console.WriteLine(userid);
var name = userid.Split(' ');
Console.WriteLine(name[0]);
newUser.UserId = name[0];
}
Users.Add(newUser);
}
哦,我只需要获取用户标识,而不是全名以及。
真棒!它有效,但我如何获得区域?我尝试将它添加到if(line.StartsWith(“DeltaV”)条件下,因为它正好位于DeltaV行的下方。是否可以读取下一行然后跳过以下行?例如,该区域是FERM_OPR – user
哎呀,我忘了你也需要区域对不起。我的代码更新,以考虑到这一点;) – AirL