私は理解していないC#/ Unityアプリケーションの文字列を連結するのに問題があります。これは、今日まで正常に動作していた簡単なチャットボックスです。私はそれがなぜ機能しなくなったのか完全に困惑しています。StringBuilderがAppendLineに失敗するのはなぜですか?
コード:
StringBuilder builder = new StringBuilder();
public void AddLine(string text)
{
builder.AppendLine(text);
chatText.text = builder.ToString();
}
問題はビルダーが1つの入力を取るということです。テキストを1回追加します。その後、新しいテキストは追加されません。私がstringbuilderクラスを使用せずにただ実行すると同じことが成り立ちますChattext.text + = '\ n' + text;
どのような方法でも変更されていない文字列自体であることを確認できます。私はこれを半ダースの異なる方法で書きました。なぜこれが起こっているのでしょうか?
私の推測では、あなたの文字列に '\ 0'かそれに類するものが含まれていると思います。これは 'StringBuilder'についてのものではありませんが、[mcve]なしでは何も言えません。 –
chatTextは、複数行を表示するのに十分なスペースを持つmultilone TextBoxコントロールですか? – Steve
ありがとうございました。私は文字列の中に何かがあると思うが、私はそういう関数を追加しているからだ: 'if(Input.GetKeyUp(KeyCode.A)) { AddLine(" Input "+ i.ToString()); i ++; } ' と正しく動作します。入ってくる文字列のデバッグ情報は完璧なものです。どのようにドリルダウンして、その文字列の詳細を得ることができますか? –