在c#中格式化数组输出

时间:2014-06-14 09:32:44

标签: c# arrays formatting string-formatting

我正在尝试创建一个在数组中求和并输出整数的方法。我理解如何对整数求和,但是我无法产生所需的输出。

如果我进入方法8,3,3 我需要输出如下所示。

对于列表=< 8,3,3>总和是:14

我又熟悉如何总结,我不熟悉如何格式化。 到目前为止,这是我的方法......

public static void Sum(params int[] number)
{
    int total = 0;
    for (int i = 0; i < number.Length; ++i)
      {
         total = total + number[i];
      }

    Console.Write("For the list =, the sum of its elements is : {0}.", total);
    Console.Write("\n");
}   

4 个答案:

答案 0 :(得分:1)

使用String.Join方法创建一个包含数组中值的字符串:

string values = String.Join(", ", number);

然后将其添加到输出中:

Console.Write("For the list = <{0}> the sum of its elements is : {1}.", values, total);

在框架4之前,没有String.Join的重载可以接受除字符串之外的任何数组,所以如果你使用旧的框架,则需要将整数转换为字符串:

string values = String.Join(", ", number.Select(n => n.ToString()));

答案 1 :(得分:0)

public static void Sum(params int[] number)
{
    int total=0;
    for (int i = 0; i < number.Length; ++i) total = total + number[i];
    string ext = String.Format ("<{0}>", String.Join (",", number));

    Console.Write("For the list ={0} the sum is: {1}.",ext,  total);
    Console.Write("\n");
} 

答案 2 :(得分:0)

这样做:

using System;
using System.Linq;

public class Test
{
    public static void Main()
    {
        Sum(8,3,3);
    }

    public static void Sum(params int[] number)
    {
        Console.WriteLine("For the list <{0}>, the sum of its elements is: {1}", 
            string.Join(", ", number), 
            number.Sum());
    }   
}

输出:

  

对于列表&lt; 8,3,3&gt;,其元素的总和是:14

Click here for a working sample

答案 3 :(得分:0)

有几种方法可以产生所需的输出,其中一种方法是: public static void Sum(params int [] number)

{
    int total=0;
    StringBuild tmp="For the list =
    for (int i = 0; i < number.Length; ++i)
      {
         total = total + number[i];

      }
    Console.Write("For the list =, the sum of its elements is : {0}.", total);
    Console.Write("\n");
}