用数组列表的内容填充文本框
本文关键字:填充 文本 数组 列表 | 更新日期: 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"
值