2016-12-27 22 views
-1

を使用せずに、コレクションから項目を取得:VB.Net - 私はこのコードを最適化したいループ

dim mPolNo as new Collection(Of String) 
For Each _olap As clsOLAP in cscOLAPs 
    mPolNo.Add(_olap._p1.PolNo) 
Next 

(PolNoのデータ型が文字列である)

を私がすることをCollection.Selectを使用してみました私はgoogleで掘る。

Unable to cast object of type 'WhereSelectEnumerableIterator`2[SIPLib.ING.clsOLAP,System.String]' to type 'System.Collections.ObjectModel.Collection`1[System.String]'. 

答えて

0

Where戻りIEnumerable(Of String)

mPolNo = cscOLAPs.Select(Function(x) x._p1.PolNo.ToString) 

は、しかし、私はというエラーが発生しました。
Collection(Of String)に割り当てるには、Whereの結果を列挙する必要があります。

それはCollection(Of String)IList(Of String)インタフェースを実装しているため.ToList()拡張メソッド

cscOLAPs.Select(Function(x) x._p1.PolNo.ToString).ToList() 

ToList()を使用することができます呼び出すことによって行うことができます。

+0

ありがとうございます!私はそれを実行させるために、mPolNoのデータ型をCollection(Of String)からList(Of String)に変更する必要があります。 –

関連する問題