-3

私は次のように初期化してStringBuilderいます:

StringBuilder builder = new StringBuilder("Symptoms are ");

この後、リストをループして、各文字列アイテムを最後に追加します。

foreach(var item in list)
{
    builder.Append(item);
}

itemは「頭痛」のようなものですが、「症状は」に追加して呼び出すと、次のbuilder.ToString()ように表示されます。

"Symptoms areHeadache...etc"

とは対照的に

"Symptoms are Headache...etc"

なぜスペースを無視しているのですか?

4

2 に答える 2

1

あなたが提供したコードはあなたが説明した問題を引き起こさないので、あなたの実際の問題は症状(項目)間の空白の欠如であると推測しています. その場合、次String.Join()のように使用することをお勧めします。

var output = String.Format("Symptoms are {0}.", String.Join(", ", items));

これで、アイテムがコンマで区切られ、間にパディング スペースが挿入されます。

于 2012-11-02T16:50:29.097 に答える
0

他の PC のスペースを占有する必要はありません。たぶん、新しいPCを試してみてください。

StringBuilder builder = new StringBuilder("Symptoms are ");
List<string> list = new List<string>() { "headache", "corrupt memory" };

foreach(var item in list)
{
        builder.Append(item);
}
System.Diagnostics.Debug.WriteLine(builder.ToString());
于 2012-11-02T17:05:15.773 に答える