2016-11-17 109 views
0

我有一个问题,在我不明白的C#/ Unity应用程序中连接字符串。这是一个简单的聊天框,直到今天工作正常;我完全被难住为什么它停止工作。为什么StringBuilder无法添加AppendLine?

代码:

StringBuilder builder = new StringBuilder(); 
public void AddLine(string text) 
{ 
    builder.AppendLine(text); 
    chatText.text = builder.ToString(); 
} 

的问题是,建造者将采取一个输入。它会一次追加文本。之后,没有新的文字会被追加。如果我不使用stringbuilder类,只需要做Chattext.text + ='\ n'+ text;

我可以验证它是不是以任何方式修改的字符串本身。我曾试着用六种不同的方式写这篇文章。为什么这可能会发生?

+7

我的猜测是你的字符串包含'\ 0'或类似的东西。这不是关于'StringBuilder'的,而是没有[mcve]我们就不能真正说出更多的东西。 –

+0

chatText是一个具有足够空间显示多行的multilne TextBox控件吗? – Steve

+0

谢谢乔恩。我怀疑这个字符串里面还有东西,因为我添加了一个这样的函数: 'if(Input.GetKeyUp(KeyCode.A)) { AddLine(“Input”+ i.ToString()); i ++; }' 并且工作正常。传入字符串的调试信息似乎很完美,我如何钻取并获取有关该字符串的更多信息? –

回答

1

检查,如果ChatText的多属性设置为true

+0

文本框很好。我也只是添加了一点功能来手动添加文本,这个工作。 –

1

好了,底线是,这种失败来连接的原因是因为有一个在输入字符串一些隐藏的垃圾。我不知道它是如何到达那里的,但解决方案是使用正则表达式来滤除输入字符串中的无效字符。

+0

你为什么要删除角度问题 – Sajeetharan

相关问题