0 c# stringbuilder visual-studio-2010 .net-4.5
我正在使用StringBuilder将列表转换为单个字符串.我不希望字符串有换行符,但它会自动为附加到字符串的每个列表值添加一个新行.
for (int i = 1; i <= ruleN; i++)
{
string fizz = "F";
string buzz = "B";
string fizzBuzz = "FB";
List<string> numberSet = new List<string>();
if(i % ruleA == 0 && i % ruleB != 0) //if i is devisible by A
//but not B
{
numberSet.Add(fizz);
}
if(i % ruleB == 0 && i % ruleA != 0) //if i is devisible by B
//but not A
{
numberSet.Add(buzz);
}
if(i % ruleA == 0 && i % ruleB ==0) //if i is devisible by both
//A and B
{
numberSet.Add(fizzBuzz);
}
if(i % ruleA != 0 && i % ruleB != 0) //if i is devisible by
//neither A nor B
{
//convert the number to a string and add it to list numberSet
string undevisible = Convert.ToString(i);
numberSet.Add(undevisible);
StringBuilder Builder = new StringBuilder();
foreach (string number in numberSet)
{
// Append each string to the StringBuilder overload.
Builder.Append(number).Append(" ");
}
string output = Builder.ToString();
Console.WriteLine(output);
Run Code Online (Sandbox Code Playgroud)
输出最终看起来像这样:

新线来自哪里?
小智 5
他们来自你的Console.WriteLine(output).请注意,这是在你的for循环中.