我需要编写一个打印49到1的for循环,每个值用逗号分隔。因此,它不能在最后一个值之后打印逗号。
到目前为止,我已经掌握了这一点,并且在经过一个小时的研究后不知道该做什么。
For (int i = 49; i >= 1; i--)
{
Console.WriteLine(i + ",");
}
答案 0 :(得分:2)
只需检查循环中的位置即可知道是否需要打印逗号。
public static void Test()
{
for (int i = 49; i >= 1; i--)
{
Console.WriteLine(i + (i != 1 ? "," : ""));
}
Console.ReadLine();
}
答案 1 :(得分:1)
您可以使用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);
或者你可以输入if条件来检查最后一个元素并有条件地打印你的逗号。
String.Join将是一种更简洁的方法来执行此操作。但正如@CommuSoft指出的那样,如果您对大量数字进行此操作,则此操作中使用的内存可能会很高。
答案 2 :(得分:1)
检查您是否在最后一项,并且在这种情况下不要写逗号:
for (int i = 49; i >= 1; i--) {
Console.Write(i);
if (i > 1) {
Console.Write(",");
}
Console.WriteLine();
}
(有一些选择更优雅,但这最接近原始代码。例如,您可以在数字前面写逗号并跳过第一个逗号。)
答案 3 :(得分:0)
试试这个:
for (int i = 49; i >= 1; i--)
{
Console.Write("{0}{1}", i, i == 1 ? string.Empty : ",");
}
答案 4 :(得分:0)
你没有跟踪你的价值。
var content = String.Empty;
for(var i = 49; i >= 1; i--)
content += (i + ",");
Console.WriteLine(content);
获得值后,即可应用它。你所拥有的问题是范围永远不会存在,它适用于新的一行。
答案 5 :(得分:0)
i的值确定何时添加逗号:
For (int i = 49; i >= 1; i--)
{
Console.WriteLine(i >= 1 ? i + "," : i);
}