[英]C# add items to list from class then add list items to listbox
我是C#班的學生,這是我對班級的介紹性作業,所以請多多包涵。 按下“新建”按鈕時,將使用名稱和電話值創建CPerson對象,並將該對象添加到List <>。
class CPerson
{
private string m_sName;
private string m_sPhone;
public string Name
{
get { return this.m_sName; }
set
{
this.m_sName = value;
}
}
public string Phone
{
get { return this.m_sPhone; }
set
{
this.m_sPhone = value;
}
}
}
public partial class Form1 : Form
{
private List<CPerson> PhoneNum = new List<CPerson>(); //<CPerson> or <string>?
public Form1()
{
InitializeComponent();
newbutton.Enabled = false;
changebutton.Enabled = false;
savebutton.Enabled = false;
}
private void newbutton_Click(object sender, EventArgs e)
{
changebutton.Enabled = true;
savebutton.Enabled = true;
PhoneNum.Add(new CPerson { Name = Namebox.Text + " : ", Phone = phonebox.Text });
listBox1.Items.Add(PhoneNum); //text = "Collection"
}
作業顯示“ CPerson ToString()覆蓋將用於在列表框中顯示名稱和電話號碼”,如上圖所示,我不一定理解,但是我猜我必須使用類似這個?
CPerson data = new CPerson();
data.ToString();
無論哪種方式,就像現在的代碼一樣,我在列表框中得到的都是“(Collection)”。 任何幫助,將不勝感激!
那就是要求重寫ToString()方法。 您可以這樣做:
class CPerson
{
private string m_sName;
private string m_sPhone;
public string Name
{
get { return this.m_sName; }
set
{
this.m_sName = value;
}
}
public string Phone
{
get { return this.m_sPhone; }
set
{
this.m_sPhone = value;
}
}
public override string ToString()
{
return Name + ": " + Phone;
}
我沒有正確地添加到列表中,但是我想您可以使用ToString()執行以下操作:
listBox1.Items.Add(data.ToString());
關...
class CPerson
{
private string m_sName;
private string m_sPhone;
public string Name
{
get { return this.m_sName; }
set
{
this.m_sName = value;
}
}
public string Phone
{
get { return this.m_sPhone; }
set
{
this.m_sPhone = value;
}
}
public override string ToString()
{
return Name + ": " + Phone;
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.