【发布时间】:2017-09-24 22:19:26
【问题描述】:
我有问题。我正在为一个学校项目制作网球锦标赛计划。我们应该使用 txt 文件,在其中读取它们,我们需要能够提取一定数量的玩家,这将用于模拟锦标赛。
public class ReadPlayers
{
private List<ReadFiles> players = new List<ReadFiles>(); //Opretter en liste af strenge.
public string FileName { get; set; }
public string Delimiter { get; set; }
public ReadPlayers(string fn, string delim = "|") //Konstruktur
{
FileName = fn;
Delimiter = delim;
}
public override string ToString()
{
var rv = "";
foreach (var c in players)
rv += c + "\n";
return rv;
}
public void Load()
{
TextFieldParser par = new TextFieldParser(FileName, Encoding.GetEncoding("iso-8859-1"));
par.TextFieldType = FieldType.Delimited;
par.SetDelimiters(Delimiter);
while (!par.EndOfData)
{
string[] fields = par.ReadFields();
string FirstName = fields[1];
string MiddleName = fields[2];
string LastName = fields[3];
DateTime DateOfBirth = DateTime.ParseExact(fields[4], "yyyy-MM-dd", CultureInfo.InvariantCulture);
String Country = fields[5];
string ShortNameCountry = fields[6];
var c = new ReadFiles(FirstName, MiddleName, LastName, DateOfBirth, Country, ShortNameCountry);
players.Add(c);
}
players.Shuffle();
par.Close();
在我的 main 中,我加载文件并打印它。这完美无缺。但我只需要能够从列表中打印 8、16、32 或 64 名玩家。
【问题讨论】:
-
players.Take(16) 或 players.Skip(16).Take(16) 等等。将 16 参数化并创建一个返回子集的方法
标签: c# text-files readline readlines