如何在Label控件中正确输出For循环遍历的全部处理结果
问题根因
- 你在循环内部直接给
Output.Text、TextBox1.Text赋值,每一轮循环都会覆盖上一轮的控件内容,所以最终只会保留最后一个元素的处理结果。 String.Join("/", newS)的写法是多余的:String.Join用于拼接数组内的所有元素,你传入单个字符串不会产生拼接效果,完全可以省略。
修正方案
在循环外定义一个变量存储拼接结果,每轮循环只把处理好的字符串追加到该变量中,循环结束后再一次性赋值给对应控件即可,参考代码如下:
Dim lst() = {"apple", "banana", "cherry"} ' 定义变量存储拼接后的结果 Dim result As String = String.Empty For Each item As String In lst Dim array() As Char = item.ToCharArray array(0) = Char.ToUpper(array(0)) Dim newS = New String(array) ' 把当前处理好的字符串追加到结果变量 result &= newS Debug.Write(newS) Next Debug.WriteLine("") ' 循环结束后一次性赋值给控件 TextBox1.Text = result Output.Text = result
如果需要添加分隔符,只要把拼接逻辑改成result &= newS & "你需要的分隔符",最后再去掉末尾多余的分隔符即可。
内容的提问来源于stack exchange,提问作者Melvin Esguerra
相关产品推荐
相关产品推荐

