2013-02-24 43 views
2

我有一本書類,裏面有幾本書,書的作者,出版年和書的名字。現在我想用循環打印出書,但我不知道我應該使用什麼循環。這裏是我的書類代碼:用for循環打印出一本書的列表,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); 

    } 
} 

,這裏是在主,在那裏我已經建立了我的書單碼:

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
foreach(Book b in books) 
    Console.WriteLine(b); 

的ToString獲取通過的WriteLine自動調用(啊,多態...)

+0

我不是肯定的,如果我要使用的循環或foreach,但這是完美的,thx! – user2057693 2013-02-24 20:37:52

+0

@ user2057693實際上都可以,但是這個更短且更容易閱讀;) – BlackBear 2013-02-24 20:45:00

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

如果您在您的項目System.Linq的一個參考,你可以使用:

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

你甚至可以縮短這:

books.ForEach(Console.WriteLine) 
+1

您不需要System.Linq。這是'List '(http://msdn.microsoft.com/zh-cn/library/bwabdf9z.aspx) – 2013-02-25 15:29:52