首页 > 解决方案 > 无法将整个列表打印到控制台

问题描述

在控制台上打印列表时不断收到以下消息。

System.Collections.Generic.List`1[System.Int32]

这是控制台代码。它旨在生成给定长度的斐波那契数列。我曾尝试使用 ToString() 方法,但这也不起作用。我已经用 Java 构建了算法,所以我知道这个问题基本上是一个 C# 问题。如果 print i 单独打印列表元素,则问题已解决,但我无法打印整个列表。

class Program
{
    public static void Main(string[] args)
    {
        Fibonacci fibo = new Fibonacci();


        Console.WriteLine(fibo.getSequence(9));

        Console.ReadLine();
    }
}

class Fibonacci
{

    public List<int> getSequence(int length)
    {
        List<int> results = new List<int>();

        results.Add(1);
        results.Add(1);

        int counter = 0;

        while (counter != length - 2)
        {
            int num1 = results[results.Count - 1];
            int num2 = results[results.Count - 2];

            results.Add(num1 + num2);
            counter++;
        }

        return results;
    }
}

标签: c#.netlist

解决方案


你正在返回一个List<int>. 要打印它,您必须例如迭代它

foreach(var i in fibo.getSequence(9)) {
    Console.WriteLine(i);
}

或者你可以使用String.Join()

Console.WriteLine(String.Join(" ", fibo.getSequence(9)));

推荐阅读