次のようなテキスト ファイルがあります。
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 つの文字列を持つユーザー クラスがあり、ユーザー オブジェクトのリストを作成しようとしています。
これは私がこれまでに試したことです: (コードの前半で User オブジェクトのリストを宣言しました)
// 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);
}
ああ、フルネームではなく、UserId だけを取得する必要があります。