2014-09-22 40 views
0

我討厭在以下功能重複這一行:如何不重複在我的方法在C#中重複的語句?

public void Print() 
{ 
    verticalPosition += bodyFontHeight; 
    PrintData(something); 

    verticalPosition += bodyFontHeight; 
    PrintData(something else); 

    verticalPosition += bodyFontHeight; 
    PrintData(something else else); 
} 

我還以爲寫了一個inline functionC/C++和我第一次嘗試是一個Func委託。

但不幸的是Func不允許使用refout參數。

任何想法在這種情況下應該做什麼?

+6

如何使用[for循環(http://msdn.microsoft .COM/EN-US /庫/ ch45axte.aspx)? – Yuriy 2014-09-22 06:25:42

+0

@Yuriy:哎呀。我的錯。推翻一些非常容易的事情。 – 2014-09-22 06:30:00

回答

2

你可以把你的東西收集任何你想要

things = {something,something else, something else else}; 

,然後,只需遍歷它

public void Print() 
{ 
    foreach (thing in things){ 
     verticalPosition += bodyFontHeight; 
     PrintData(thing); 
    } 
}