C# 循环以编写cimma分隔的项目列表

C# 循环以编写cimma分隔的项目列表,c#,for-loop,separator,C#,For Loop,Separator,我需要编写一个for循环,打印49到1,每个值用逗号分隔。因此,它不能在最后一个值后打印逗号 到目前为止,我已经知道了,经过一个小时的研究,我不知道还能做些什么 For (int i = 49; i >= 1; i--) { Console.WriteLine(i + ","); } 只需检查循环中的位置,就可以知道是否需要打印逗号 public static void Test() { for (int i = 49; i

我需要编写一个for循环,打印49到1,每个值用逗号分隔。因此,它不能在最后一个值后打印逗号

到目前为止,我已经知道了,经过一个小时的研究,我不知道还能做些什么

For (int i = 49; i >= 1; i--)
{
    Console.WriteLine(i + ",");
}

只需检查循环中的位置,就可以知道是否需要打印逗号

        public static void Test()
        {
            for (int i = 49; i >= 1; i--)
            {
                Console.WriteLine(i + (i != 1 ? "," : ""));
            }

            Console.ReadLine();
        }
试试这个:

for (int i = 49; i >= 1; i--)
{
    Console.Write("{0}{1}", i, i == 1 ? string.Empty : ",");
}

您可以使用String.Join

List<string> numbers = new List<string>();
for (int i = 49; i >= 1; i--) {
    numbers.Add(i.ToString());

}
string numberWithCommas = String.Join(",", numbers);
Console.WriteLine(numberWithCommas);
列表编号=新列表();
对于(int i=49;i>=1;i--){
添加(i.ToString());
}
string numberWithCommas=string.Join(“,”,numbers);
Console.WriteLine(带逗号的编号);
或者,您可以在if条件中检查最后一个元素,并有条件地打印逗号


Join将是执行此操作的更简洁的方法。但是,正如@CommuSoft所指出的,如果您对一个大的数字列表执行此操作,则此操作中使用的内存可能会很高。

您无法跟踪您的值

var content = String.Empty;
for(var i = 49; i >= 1; i--)
     content += (i + ",");

Console.WriteLine(content);

一旦你有了一个值,你就可以应用它。您遇到的问题是范围永远不会保留,它应用于新行。

i的值决定何时添加逗号:

For (int i = 49; i >= 1; i--)
{
    Console.WriteLine(i >= 1 ? i + "," : i);
}

检查您是否在最后一项,在这种情况下不要写逗号:

for (int i = 49; i >= 1; i--) {
    Console.Write(i);
    if (i > 1) {
        Console.Write(",");
    }
    Console.WriteLine();
}

(有一些更优雅的替代方案,但这与您的原始代码最接近。例如,您可以在数字之前写逗号,跳过第一个逗号。)

潜在的问题是内存复杂性。例如,可以将大量输出写入设备。也许你应该在你的帖子中提到这一点…@CommuSoft添加了一条注释。在4分钟内回答了-3个问题。哇@汤马斯韦勒当一个问题非常简单时,人们会回答。即使我们不应该这样做。@AgentWolf如果您使用调试器单步执行代码并在另一个监视器上打开控制台窗口,或者在您的单个监视器上腾出空间来查看program.cs代码和控制台窗口,您实际上可以看到您在没有真正跟踪
i
方面的错误所在要在单步执行代码时实时查看输出,我不知道如何保持I的轨迹。我被迫参加一个网络专业的编程课程。很久以前我就退出了CS,因为编程对我来说毫无意义