我正在尝试学习List<>在C#中。我制作了一个测试程序,它将三个文本框的结果输入到多行文本框中,然后将它们放入一个列表中(稍后将列表保存到文件中)。
这是我的班级声明:
Just.post(urlString, json: ["projectid": "1234", "userid": "somename", "password": "pw"])
现在我实例化列表:
public class Film
{
public Film (string Num, string Title, string Categ)
{
this.Numero = Num;
this.Titre = Title;
this.Categorie = Categ;
}
public string Numero;
public string Titre;
public string Categorie;
}
这是我的活动:
List<Film> ListeFilms = new List<Film>();
现在,当我跑步时,文本框中写的所有内容都是:
private void btSaveMovie_Click(object sender, EventArgs e)
{
var MyMovie = new Film(txtNum.Text, txtTitre.Text, cbCateg.Text);
ListeFilms.Add(MyMovie);
foreach (Film x in ListeFilms)
{
txtAffichage.AppendText(x.ToString());
}
}
我做错了什么?
答案 0 :(得分:3)
您必须覆盖Film类声明中的ToString()方法。否则返回类型名称。
示例:
public class Film
{
public Film(string Num, string Title, string Categ)
{
this.Numero = Num;
this.Titre = Title;
this.Categorie = Categ;
}
public string Numero;
public string Titre;
public string Categorie;
public override string ToString()
{
return Numero.ToString() + " " + Titre.ToString() + " " + Categorie.ToString();
}
}
答案 1 :(得分:1)
您只需将三个字段连接到AppendText函数:
private void btSaveMovie_Click(object sender, EventArgs e)
{
var MyMovie = new Film(txtNum.Text, txtTitre.Text, cbCateg.Text);
ListeFilms.Add(MyMovie);
foreach (Film x in ListeFilms)
{
txtAffichage.AppendText(x.Numero + " - " + x.Titre + "- " + x.Categorie));
}
}