2016-11-17 67 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

相關問題