我有一個問題。我正在爲一個學校項目製作一個網球比賽項目。我們應該使用txt文件,在那裏他們正在閱讀,我們需要能夠提取一定數量的玩家,這將被用於模擬比賽。從列表中的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();
而在我的主要我加載文件並打印它。這是完美的。但是我需要能夠從列表中僅打印8,16,32或64個玩家。
_players.Take(16)_或_players.Skip(16)。取(16)_等等。參數化16並創建一個返回子集的方法 – Steve