2016-07-18 14 views
0

コレクションの各要素を好きなものに変換するメソッドがC#にあるかどうかを知りたいと思いますか?C#のGroovyの.collect()と同等です

これは、データの行を合計で私の現在のコードです:私はC#の.Sum()メソッドを使用するためのソリューションを探しています

// C# 
int sum = 0; 
foreach (DataGridView row in gridView.Rows) 
{ 
    sum += Convert.ToInt32(row.Cells["Amount"]); 
} 

// Groovy 
int sum = rows.collect { it.cells.amount as Integer }.sum() 

は、LINQか何かのように、C#で、このことが可能です:Groovyで

、私はコレクションを合計し、これを行うことができますか?

答えて

1

LINQを試すことができます。

System.LINQ(およびusing System.Linq;)への参照がない場合は、追加する必要があります。

あなたは、あなたが次の文を使って必要な値を合計できます

int sum = gridView.Rows.Sum(row => Convert.ToInt32(row.Cells["Amount"])); 
+0

これは完璧です! – KaNa0011

+0

:)喜んで助けてくれました。 – Ash

0

はい、あなたはSum拡張メソッドを使用することができます。

var sum = gridView.Rows.OfType<DataGridViewRow>().Sum(row => Convert.ToInt32(row.Cells["Amount"])); 

あなたが最初の「DataGridViewRowCollection doesnのためOfTypeを使用する必要がありますt IEnumerable<T>を実装しますが、IEnumerable

関連する問題