close

在學Ruby這個語言的時候,有接觸到下列的用法。

2010-10-16_144928

在陣列型態的變數,可以直接呼叫each方法,不用再照以往for loop的那種方式去做。於是我就很好奇C#有沒有類似的方法可以用…

一開始我先嘗試List這個泛型類別。

2010-10-16_143724

 

執行結果如下:

2010-10-16_143745

 

但在一般的陣列中,就沒有此方法可以用,於是我想到可以利用C# Extension Method去擴充,要達到此功能,還要藉助Action<T>這個類別,關於Action<T>的用法,可以參考暗黑大的這篇文章:

http://blog.darkthread.net/blogs/darkthreadtw/archive/2009/12/26/action-delegate.aspx

 

現在,就來實作吧。

2010-10-16_143857

 

之後就來使用ForEach這個方法。

2010-10-16_144003

 

執行結果。

2010-10-16_145007

 

但問題來了,如果是Int這種value type的變數,就沒辦法使用,所以程式碼還是得做以下的修正,將它改為泛型。

2010-10-16_145213

 

從整數陣列這邊呼叫。

2010-10-16_145230

 

執行結果。

2010-10-16_150345

arrow
arrow
    全站熱搜

    卑微研究生 發表在 痞客邦 留言(0) 人氣()