输出数字以逗号分隔

时间:2015-10-19 22:06:32

标签: c#

这是我班上给我的一个问题:

写一个 for 循环,打印1到n,用逗号分隔。示例:对于n = 9打印 1,2,3,4,5,6,7,8,9

我的代码是。

for (int number = 1; number <= 9; number++)
    Console.Write("{0},", number);
Console.ReadLine();

输出1,2,3,4,5,6,7,8,9, 有没有办法在9之后没有逗号打印它? 谢谢你的帮助。

7 个答案:

答案 0 :(得分:1)

扩展您的方法,您可以使用conditional (ternary) operator并执行以下操作:

int maxNumber = 9;
for (int number = 1; number <= maxNumber; number++)
{
    Console.Write(number != maxNumber ? "{0}," : "{0}", number);
}
Console.ReadLine();

使用String.JoinEnumerable.Range的另一个更简洁的选项是:

int maxNumber = 9;
Console.Write(String.Join(",", Enumerable.Range(1, maxNumber)));
Console.ReadLine();

答案 1 :(得分:1)

另一种方法是打印出第一个数字,然后在每次迭代中打印出一个逗号,后跟下一个数字。这样一个逗号就不在最后了。

Dim PictureBoxes = New PictureBox() {picturebox1, picturebox2, ... }

For n = 1 to 10
    PictureBoxes(n).hide
Next

答案 2 :(得分:0)

这是一种可能性,假设您需要使用for循环进行练习。

int count = 9; string result = "";

for (int i = 1; i <= count; i++) result += i.ToString(i < count ? @"#\," : "#");

Console.WriteLine(result);

答案 3 :(得分:0)

这是一种方式:

Console.WriteLine(string.Join(",", Enumerable.Range(1, 9)));

答案 4 :(得分:0)

您需要先确定n的值是什么:

Console.Write("Please insert max value: ");
int n = int.Parse(Console.ReadLine());

现在您可以使用for循环输出数字:

        for (int i = 1; i <= n; i++)
        {
            Console.Write(i + ", ");
        }

答案 5 :(得分:0)

这是在最后没有逗号的情况下打印的简单逻辑 示例:2,4,6,8,10

namespace PurushLogics
{
    class Purush_EvenNoOddNo
    {

        //Print Even Number & Odd Numbers , seperated
        static void Main()
        {

            int start = 50;
            int end = 100;

            for (int j = start; j <= end; j++)
            {
                if (j % 2 == 0)
                {
                    Console.Write(j);
                    if (j < end) // To avoid print , at the end
                    {
                        Console.Write(",");
                    }

                }
            } Console.WriteLine();
            for (int j = start; j <= end; j++)
            {
                if (j % 2 != 0)
                {
                    Console.Write(j);
                    if (j < end-1)
                    {
                        Console.Write(",");// To avoid print , at the end
                    }

                }
            } Console.WriteLine();
            Console.ReadLine();

        }

    }
}

答案 6 :(得分:-1)

一个简单但可能不是最优化的可能是将你的消息存储在一个字符串中,然后剪掉它。

string output = ""; //empty string
for (int number = 1; number <= 9; number++)
    string += number.ToString() + ","; //you can add strings together with '+'. 

output = output.Substring(0, output.length - 1);
Console.WriteLine(output);
Console.ReadLine();

我的c#有点生锈

HereSubstring()

的参考