最简单的解决方案(假设您有固定的 ID 格式 - 五位数字):
var users = File.ReadAllLines("data.txt")
.ToDictionary(line => line.Substring(0, 5));
这将创建字典,其中行作为值,id 作为键。用法:
string line = users["00125"]; // 00125 JAMES LONDON
那是最简单的解决方案。但实际上,我会介绍一些课程,例如:
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string Location { get; set; }
public static User Parse(string s)
{
var parts = s.Split(new []{' '}, StringSplitOptions.RemoveEmptyEntries);
return new User {
Id = Int32.Parse(parts[0]),
Name = parts[1],
Location = parts[2]
};
}
public override string ToString()
{
return String.Format("{0:00000} {1} {2}", Id, Name, Location);
}
}
然后解析每一行并将用户放入类型的字典Dictionary<int, User>
。这将使您的代码具有强类型并且更易于维护:
var users = File.ReadAllLines("data.txt")
.Select(line => User.Parse(line))
.ToDictionary(u => u.Id);
var user = users[127];
string name = user.Name; // STARK
Console.WriteLine(user); // 00127 STARK USA