如何展开类对象

本文关键字:对象 何展开 | 更新日期: 2023-09-27 18:33:59

我想把它做好,所以我过度简化了它。

照原样,这将在所有三个文本框中返回 null。

我知道"foreach"是不正确的。

有人可以启发我如何扩展类对象吗?

默认.aspx.cs

    protected void Button1_Click(object sender, EventArgs e)
    {
        List<dataclass> returnedData = Getdata();
        foreach (var dataclass0 in returnedData)
        {
            TextBox1.Text = dataclass0.item1;
            TextBox2.Text = dataclass0.item2;
            TextBox3.Text = dataclass0.item3;
        }
    }
    public static List<dataclass> Getdata()
    {
        List<dataclass> returndata = new List<dataclass>();
        dataclass dc = new dataclass();
        dc.item1 = "a";
        dc.item2 = "b";
        dc.item3 = "c";
        returndata.Add(dc);
        return returndata;
    }

类1.cs

public class dataclass
{
    public string item1 { get; set; }
    public string item2 { get; set; }
    public string item3 { get; set; }
}

如何展开类对象

下面的代码将生成 3 个字符串(每个文本框一个),然后将它们分配给相应的 Text 属性。它使用StringBuilder来优化串联。 AppendLine 对于保持不同串联值的间距很有用:.Replace(Environment.NewLine, ", ")稍后将换行符替换为 ", ";如果不需要将值隔开,只需删除.Replace(Environment.NewLine, ", ")并将AppendLine替换为 Append

protected void Button1_Click(object sender, EventArgs e)
{
    var sbText1 = new StringBuilder();
    var sbText2 = new StringBuilder();
    var sbText3 = new StringBuilder();
    var returnedData = Getdata();
    foreach (var dataclass0 in returnedData)
    {
        sbText1.AppendLine(dataclass0.item1);
        sbText2.AppendLine(dataclass0.item2);
        sbText3.AppendLine(dataclass0.item3);
    }
    TextBox1.Text = sbText1.ToString().Replace(Environment.NewLine, ", ");
    TextBox2.Text = sbText2.ToString().Replace(Environment.NewLine, ", ");
    TextBox3.Text = sbText3.ToString().Replace(Environment.NewLine, ", ");
}

问候丹尼尔。