数组逗号分隔c#中的输出值

时间:2015-11-29 12:04:27

标签: c# sorting

我想对这一行进行排序:

  

5,1,6,2,4,3

这是我的代码:

int[] a = new int[] { 5, 1, 6, 2, 4, 3 };
int i, j, key;

for (i = 1; i < 6; i++)
{
    key = a[i];
    j = i - 1;

    while (j >= 0 && key < a[j])
    {
        a[j + 1] = a[j];
        j--;
    }

    a[j + 1] = key;
}

var result = string.Empty;

for (i = 0; i < 6; i++)
{
    Console.WriteLine(string.Join(",",a[i]));
    //Console.WriteLine(string.Concat(a[i], ","));
}

Console.ReadKey();

我想打印逗号分隔的输出值,如下所示

  

1,2,3,4,5,6-

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:3)

你几乎在那里以你想要的方式获得你的输出。

String.Join方法将第二个参数作为数组,因此您可以直接将a传递给for循环:

Console.WriteLine(string.Join(",", a));

答案 1 :(得分:1)

试,

 int[] a = new int[] { 5, 1, 6, 2, 4, 3 };
            int i, j, key;
            var result = string.Empty;
            for (i = 0; i < 6; i++)
            {
                for (j = i+1; j < 6; j++)
                {
                    if (a[i] > a[j])
                    {
                        key = a[i];
                        a[i] = a[j];
                        a[j] = key;
                    }

                }
                result += a[i].ToString() + ((i == 5) ? "" : ",");
            }

            Console.WriteLine( result);
            Console.ReadKey();

答案 2 :(得分:1)

您也可以尝试这种方式:

for (i = 0; i < 6; i++)
{
    Console.Write(a[i].ToString());
    if(i < 5)
      Console.Write(",");
    else
      Console.WriteLine();
}