从我的循环输出中删除最后一个字符串

时间:2015-06-10 18:14:07

标签: c#

如果我有以下程序:

class Program
    {
        static void Main()
        {
            for (int i = 1; i < 6; i++)
            {
                Console.Write(i + " potato ");

            }
            Console.ReadLine();
        }
    }
}

这将打印出来 “1马铃薯2马铃薯3马铃薯4马铃薯5马铃薯”

如何删除最后一个“土豆”,只是说: “1马铃薯2马铃薯3马铃薯4马铃薯5”

5 个答案:

答案 0 :(得分:5)

你可以这样做:

for (int i = 1; i < 6; i++)
{
    Console.Write(i + (i != 5 ? " potato " : string.Empty));
}

答案 1 :(得分:4)

为什么不使用String.Join之类的:

 var result = String.Join(" potato ", Enumerable.Range(1, 5));

如果您需要尾随空格,您可以这样做:

var result  = String.Join(" potato ", Enumerable.Range(1, 5)) + " ";

答案 2 :(得分:2)

class Program
 {
    static void Main()
      {
       int max = 5;
        for (int i = 1; i <= max; i++)
        {
          Console.Write(i);
          if(i!=max)   
            Console.Write(" potato ");
        }
        Console.ReadLine();
       }
   }
}

会做的伎俩。

答案 3 :(得分:0)

    class Program
{
    static void Main()
    {
        for (int i = 1; i < 6; i++)
        {
            if( i < 5 )
                Console.Write(i + " potato ");
            else
                Console.Write(i);
        }
        Console.ReadLine();
    }
}

}

答案 4 :(得分:0)

添加if检查以确定您是否要打印最后一条记录。

    static void Main()
    {
        int potatoCount = 5;
        for (int i = 1; i <= potatoCount; i++)
        {
            Console.Write(i);
            //Only print 'Potato' when not on last print
            if (i+1 <= potatoCount) Console.Write(" potato ");
        }
        Console.ReadLine();
    }