如何输出由单词分隔的值?

时间:2016-07-24 14:53:00

标签: c#

我试图得到这样的输出:

  

4然后5然后6然后7然后8然后9然后10然后11然后12然后13。

我面临的最大挑战是确保"然后"不会出现在最后一个数字(13)之后。

class Program
{
    static void Main(string[] args)
    {
        int start;

       for(start = 4; start<=13; start++)

           Console.Write(start +" then " );

       Console.ReadKey();
    }       
}

7 个答案:

答案 0 :(得分:2)

您可以简单地为13添加条件,因为您不希望在其之后添加then;

for (start = 4; start <= 13; start++)
{
     if(start == 13)
     {
        Console.Write(start);
     }
     else
     {
        Console.Write(start + " then ");
     }
}

Outout将是;

  

4然后5然后6然后7然后8然后9然后10然后11然后12然后13

答案 1 :(得分:2)

使用String.Join组合您的值。它只在元素之间添加了分隔符

Console.Write(String.Join(" then ", Enumerable.Range(4, 10)));

注意:这使用Enumerable.Range创建从4开始的10个连续数字。此示例适用于.NET 4及更高版本,早期版本需要字符串数组作为第二个参数(即.Select(x => x.ToString()).ToArray())。

答案 2 :(得分:1)

您可以尝试使用以下代码:

for (start = 4; start < 13; start++)
{
    Console.Write(start + " then ");
}
Console.Write(start);

希望它有所帮助!

答案 3 :(得分:1)

试试这个:

class Program
{
    static void Main(string[] args)
    {
       string result = "4";

       for(int start = 5; start <= 13; start++)
       {
          result += " then" + start;
       }

       Console.Write(result);

       Console.ReadKey();
    }
}

答案 4 :(得分:1)

在我继续尝试之后,我出现了这个似乎可以解决问题的代码。

        int start;
        int start1 = 13;
        for (start = 4; start <= 12; start++)


            Console.Write(start + " then ");
        Console.Write(start1);
        Console.ReadKey();

答案 5 :(得分:0)

如果你想要一个班轮,这应该可以解决问题:

string result = string.Join(" then ", Enumerable.Range(4, 10).ToArray());

答案 6 :(得分:-1)

试试这个:

for (int start = 4; start <= 13; start++)
{
    if (start == 13 )
    {
        Console.Write("13");
    }
    else
    {
        Console.Write(start + " then ");
    }
    Console.ReadKey();
}