gpt4 book ai didi

c# - 如何从 List<> 访问对象

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:36 26 4
gpt4 key购买 nike

我想创建一个对象的列表<>来存储客人的基本信息,并有一些类似的代码

private void btnSave_Click(object sender, EventArgs e)
{
int gender;
string fn;
string ln;
string num;
int bd;
int bm;
int by;

IList<GuestInfo> GuestList = new List<GuestInfo>();
if(tbBirthDate.Text==null||tbBirthMonth==null||tbBirthYear==null||tbFname==null||tbLName==null||tbPhoneNum==null)
{
MessageBox.Show("Please fill in all information");
}
else if (count>=4)
{
MessageBox.Show("You already have 4 members infomation save");
}
else
{
if(radFemale.Checked == true)
{
gender = 0;
}
else
{
gender = 1;
}
fn = tbFname.Text;
ln = tbLName.Text;
num = tbPhoneNum.Text;
bd = Int32.Parse(tbBirthDate.Text);
bm = Int32.Parse(tbBirthMonth.Text);
by = Int32.Parse(tbBirthYear.Text);
GuestList.Add(new GuestInfo(fn,ln,num,gender,bd,bm,by));
}
}
}

客人信息:

class GuestInfo
{
private string fName;
private string lName;
private string pNum;
private int Gen;
private int bDate;
private int bMonth;
private int bYear;

public GuestInfo(string FirstName,string LastName, string phoneNum,int Gender, int birthDate,int birthMonth,int birthYear)
{
fName = FirstName;
lName = LastName;
pNum = phoneNum;
Gen = Gender;
bDate = birthDate;
bMonth = birthDate;
bYear = birthYear;

}
}

当单击按钮时,我存储了信息,但我不知道如何获取我想使用的数据,例如我想知道 GuestList[1] 上客人的名字。

最佳答案

您的字段设置为 private,因此您只能在 GuestInfo 类中访问它们。要解决这个问题,您必须将修饰符设置为 public

public string fName;

public

The type or member can be accessed by any other code in the same assembly or another assembly that references it.

私有(private)

The type or member can be accessed only by code in the same class or struct.

建议:

GuestInfo 类中创建属性而不是字段

  • 属性不需要封装字段,它们可以对其他字段进行计算,或用于其他目的
  • 您还可以执行其他逻辑,例如在访问属性时进行验证,这是另一个有用的功能

(一般来说:属性公开字段。字段应该(几乎总是)对类保持私有(private),并通过 get 和 set 属性访问)

像这样设置属性以访问每个属性:

class GuestInfo
{
public string fName { get; private set; }

public GuestInfo(string FirstName)
{
fName = FirstName;
}
}

然后你就可以访问它们了:

List<GuestInfo> guestList = new List<GuestInfo>();
guestList.Add(new GuestInfo("John"));
guestList.Add(new GuestInfo("Bill"));

var secondGuest = guestList[1].fName;

关于c# - 如何从 List<> 访问对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40733431/

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