打印里面的类对象列表

时间:2017-11-17 12:56:59

标签: c# list class object

如何打印包含该列表中所有类对象的列表?

 List<Reader> MyObjectList = new List<Reader>();

 private void button2_Click(object sender, EventArgs e)
    {
        Reader reader = new Reader();

        reader._surname = Convert.ToString(textBox1.Text);
        reader._id = Convert.ToInt32(textBox2.Text);
        MyObjectList.Add(reader);

        MessageBox.Show("new reader");
    }

我想打印所有_surname和_id我添加,点击按钮。

private void button3_Click(object sender, EventArgs e)
    {
        listBox1.DataSource = MyObjectList;
    }

如果我这样做,我的结果是:OBJ6.MyObjectList。

PS。 OBJ6 - 我的项目名称。如何使用按钮单击打印该类中的所有对象?

2 个答案:

答案 0 :(得分:0)

您必须在ListBox中设置ItemTemplate

<ListBox>
                        <ListBox.ItemTemplate>
                                <DataTemplate>
                                        <WrapPanel>
                                                <TextBlock Text="Surname: " />
                                                <TextBlock Text="{Binding _surname}" FontWeight="Bold" />
                                                <TextBlock Text=", " />
                                                <TextBlock Text="Id: " />
                                                <TextBlock Text="{Binding _id}" FontWeight="Bold" />
                                        </WrapPanel>
                                </DataTemplate>
                        </ListBox.ItemTemplate>
                </ListBox>

此外,请阅读binding ObservableLists as items source,以便您不需要按钮来刷新列表。

答案 1 :(得分:0)

List<T>没有覆盖ToString,这就是为什么你会看到它的类型名称OBJ6.MyObjectList而不是所需的&#34;所有的姓氏和id&#39; s&#34;。

您可以使用:

private void button3_Click(object sender, EventArgs e)
{
    string whatYouWant = String.Join(
        Environment.NewLine, // change this to the desired delimiter 
        MyObjectList.Select(r => $"{r._surname} {r._id}")); // change format here
    // ...
}