打印带有for循环的书籍列表,c#

时间:2013-02-24 20:19:37

标签: c#

我有一本书课,里面有几本书,包括书籍作者,出版年份和书名。现在我想用循环打印书籍,但我不确定我应该使用什么循环。这是我的书类代码:

class Book
{
    public string forfattareEfternamn;
    public string forfattareFornamn;
    public string bokensTittle;
    public int lanseringsDatum;

    public string BokensTittle
    {
        get { return bokensTittle; }
        set { bokensTittle = value; }
    }
    public string ForfattareFornamn
    {
        get {return forfattareFornamn;}
        set {forfattareFornamn = value;}
    }

    public string ForfattareEfternamn
    {
        get {return forfattareEfternamn;}
        set {forfattareEfternamn = value;;}
    }

    public int LanseringsDatum
    {
        get { return lanseringsDatum; }
        set { lanseringsDatum = value; }
    }

    public override string ToString()
    {
        return string.Format("{0}, {1}, {2}, {3} ", forfattareEfternamn, ForfattareFornamn, bokensTittle, lanseringsDatum);

    }
}

这是Main中的代码,我创建了我的书籍列表:

class Program
{
    static void Main(string[] args)
    {
        List<Book> books = new List<Book>();
        books.Add(new Book { forfattareFornamn = "Dumas", forfattareEfternamn = "Alexandre", bokensTittle = "The Count Of Monte Cristo", lanseringsDatum = 1844 });
        books.Add(new Book { forfattareFornamn = "Clark", forfattareEfternamn = "Arthur C", bokensTittle = "Rendezvous with Rama", lanseringsDatum = 1972 });
        books.Add(new Book { forfattareFornamn = "Dumas", forfattareEfternamn = "Alexandre", bokensTittle = "The Three Musketeers", lanseringsDatum = 1844 });
        books.Add(new Book { forfattareFornamn = "Defoe", forfattareEfternamn = "Daniel", bokensTittle = "Robinson Cruise", lanseringsDatum = 1719 });
        books.Add(new Book { forfattareFornamn = "Clark", forfattareEfternamn = "Arthur C", bokensTittle = "2001: A space Odyssey", lanseringsDatum = 1968 });

    }
}

所以,我想使用一个循环,使用ToString()方法在控制台屏幕上的列表中打印书籍(不显式调用ToString())

3 个答案:

答案 0 :(得分:3)

foreach(Book b in books)
    Console.WriteLine(b);

WriteLine自动调用ToString(啊,多态...)

答案 1 :(得分:2)

使用foreach循环循环查看集合中出现的书籍数量。然后将它们打印到控制台。

foreach (Book book in books)
{
    Console.WriteLine(book.ToString()); // ToString gets called automatically so you can skip that if you want. I think it makes it a little clearer when reading it again.
}

希望它有所帮助。

答案 2 :(得分:2)

如果在项目中包含对System.Linq的引用,则可以使用:

books.ForEach(b => Console.WriteLine(b))

您甚至可以将其缩短为:

books.ForEach(Console.WriteLine)