如何使我的代码在除最后一个条件之外的所有值之后都输出逗号

问题描述 投票:1回答:2

代码需要在符合条件的值之后输出逗号,除了最后一个,似乎找不到找到使代码忽略最后一个逗号的方法

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,
c#
2个回答
1
投票

您可以简单地使用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;

0
投票

要修复当前解决方案,请添加逗号, 之前添加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);
            }
    }
    ...
© www.soinside.com 2019 - 2024. All rights reserved.