代码需要在符合条件的值之后输出逗号,除了最后一个,似乎找不到找到使代码忽略最后一个逗号的方法
public class LabWork1
{
public static void Main(string[] args)
{
Console.Write("n: ");
int n = int.Parse(Console.ReadLine());
var numbers = new StringBuilder();
for (int i = 1; i <= n; i++)
{
if (i % 3 == 0 || i % 5 == 0)
{
numbers.Append(i);
numbers.Append(", ");
}
}
Console.Write(numbers.ToString());
}
}
应该是
3, 5, 6, 9
实际(请注意最后一个逗号)
3, 5, 6, 9,
您可以简单地使用string.Join
和LINQ代替:
var numbers = string.Join(",", Enumerable.Range(1 , n).Where(i => i % 3 == 0 || i % 5 == 0));
Console.Write(numbers);
只需确保已在using
语句中添加以下内容:
using System.Linq;
要修复当前解决方案,请添加逗号,
之前添加i
:
...
for (int i = 1; i <= n; i++)
{
if (i % 3 == 0 || i % 5 == 0)
{
// Add comma first...
if (numbers.Length > 0)
numbers.Append(", ");
// ...and only then value
numbers.Append(i);
}
}
...