首页 > 解决方案 > 在除最后一个之外的所有值都符合条件之后,如何使我的代码输出逗号

问题描述

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

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#.netstring

解决方案


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

推荐阅读