gpt4 book ai didi

c# - 如何在没有类实例的情况下访问类中的列表?

转载 作者:行者123 更新时间:2023-11-30 23:25:51 26 4
gpt4 key购买 nike

我正在用 C# 编写一个网球程序用于考试,我需要阅读一个包含球员的文件。我可以使用此代码将玩家读入列表。现在我需要访问另一个类(class)的 MalePlayers 列表,以便从列表中获取两名玩家并进行一场比赛,但我不知道如何访问它。

public class MaleReader
{
private List<Player> MalePlayers = new List<Player>();
public string FileName { get; set; }
public string Delimiter { get; set; }

public MaleReader(string fn, string delim = "|")
{
FileName = fn;
Delimiter = delim;
}

public override string ToString()
{
var rv = "";
foreach (var p in MalePlayers)
rv += "Player: " + p + "\n";
return rv;
}

public void Load()
{
TextFieldParser par = new TextFieldParser(FileName);
par.TextFieldType = FieldType.Delimited;
par.SetDelimiters(Delimiter);
while (!par.EndOfData)
{
string[] fields = par.ReadFields();
int MID = Int32.Parse(fields[0]);
string Firstname = fields[1];
string MiddleName = fields[2];
string LastName = fields[3];
DateTime DoB = DateTime.Parse(fields[4]);
string Country = fields[5];
string ShortCountry = fields[6];

//Gender gender =
var p = new Player(MID, Enums.Gender.Male, Firstname, MiddleName, LastName, DoB, Country, ShortCountry);
MalePlayers.Add(p);

}
par.Close();
}

public static void RunPlayerReaderMale()
{
var f = new MaleReader(@"C:\Users\R0ede\Dropbox\Git\Examprogram\Data\FemalePlayer.txt");
f.Load();
//Console.WriteLine(f);
}
}

是否可以不创建类的实例?

最佳答案

您有多种方法可以做到这一点,其中大多数只是一种风格选择。

一个选项是创建一个静态方法,它在内部创建 MaleReader 实例,但它只返回其 MalePlayers 属性。

public static List<Player> RunPlayerReaderMale()
{
var f = new MaleReader(@"C:\Users\R0ede\Dropbox\Git\Examprogram\Data\MalePlayer.txt");
f.Load();
return f.MalePlayers;
}

关于c# - 如何在没有类实例的情况下访问类中的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37089200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com