用数组列表的内容填充文本框

本文关键字:填充 文本 数组 列表 | 更新日期: 2023-09-27 18:16:38

我有一个令人沮丧的问题。在我的clsExchange中使用以下代码,它在我的FormExchange中使用简单的txtPhonesInSystem.Text = ClsExchange.listPhones();调用,我只能显示第一个数组列表条目。

 public string listPhones()
    {
        string strphone = string.Empty;
        foreach (clsPhone phone in phoneArray)
        {
            strphone = (strphone + phone.PhoneNumber.ToString() + "'n");
            return strphone;

        }
        return strphone;
    }

但是,如果我采用逻辑并将其放入form.cs的btn_press事件中,它将显示完整的内容。我能看到的唯一区别是我使用txtbox.Text=strphone而不是返回strphone。如有任何建议,我都非常感谢,因为我整天都在忙这个。

编辑谢谢大家的回答。我想一定是这么简单的事情。我想我的大脑不适合做这些事。羞耻因为我爱它

用数组列表的内容填充文本框

foreach中的这一行是问题所在:

return strphone;

第一张唱片你就不干了。

顺便问一句,这还是c# 1.0吗?如果不是,为什么使用ArrayLists ?

在foreach循环中调用return,强制在第一个循环循环时退出整个方法,因此strphone仅包含第一个电话号码。

如果您正在使用。net 3,您可以使用单个LINQ查询简化解决方案:

txtPhonesInSystem.Text = 
          phoneArray.Select(p => p.PhoneNumber)
                    .Aggregate((acc, next) => acc + "'n" + next);

否则只删除return strphone;行代码。

使用Environment也是有意义的。换行代替硬编码的"'n"