【发布时间】:2015-09-18 11:25:27
【问题描述】:
我有以下代码:
StringBuilder sb = new StringBuilder();
sb.Append("Ola");
sb.Append("Jola");
sb.Append("Zosia");
我可以使用for 或foreach 迭代StringBuilder 对象吗?
我可以显示其中的一个元素吗?例如
Console.WriteLine(sb[0]); 不起作用。
【问题讨论】:
-
听起来
StringBuilder是你应该使用的错误对象,你想做什么? -
这似乎是一个经典的 XY 问题,其中 X 是您的原始问题,而您认为的解决方案是 “我知道,我将使用
StringBuilder”,导致您遇到问题 Y:“但现在我无法从StringBuilder获取单独的字符串”。解释你原来的问题 X。 -
一种可能性是使用分隔符
<space>存储每个Append(可能是)。并使用Split(separator)拆分并显示elements[0]其中 elements 是拆分数组。 -
@NeverHopeless 不,只需接受您的问题的数据结构错误。不要去实施这样的黑客攻击。
-
@CodeCaster,这真的取决于 OP 想要实现什么?代码可能会中断,但取决于允许的输入字符串。如果不详细说明,我们无法在这里做出决定。您建议了
List<>选项,但可能是 OP 想无缘无故地坚持使用StringBuilder。一个人有权提供对他人可能/可能不会有问题的替代方案。
标签: c# stringbuilder