关于List<> C#中的声明

时间:2015-05-14 03:57:20

标签: c# list generics textbox

我正在尝试学习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());
        }
    }

我做错了什么?

2 个答案:

答案 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));
    }
}