1

ショートコード:

    Dim NewItemList As List(Of OrderDetail) = New List(Of OrderDetail)

    For Each Item As OrderDetail In OrderInfoDetails
        If Item.Status = EnumOrderStatus.Taken Then
            NewItemList.Add(Item)
        End If
    Next

試した:

    Dim NewItemList As List(Of OrderDetail) = From Item As OrderDetail In OrderInfoDetails Where Item.Status = EnumOrderStatus.Taken Select Item

しかし、orderdetail の where リストを汎用リストに変換できないというエラーが発生しました

4

3 に答える 3

1

List コンストラクターでクエリをラップするだけです。

Dim NewItemList = New List(Of OrderDetail)(From Item As OrderDetail In OrderInfoDetails Where Item.Status = EnumOrderStatus.Taken Select Item)
于 2013-03-28T09:53:50.400 に答える
0

Where(...)メソッドを使用して、ラムダ式を介してStatusプロパティが同等かどうかをテストし、ToList() メソッドを呼び出します。EnumOrderStatus.Taken

于 2013-03-28T09:55:39.213 に答える
0

単純にどうですか

Dim NewItemList = OrderInfoDetails.Where(Function(e) e.Status = EnumOrderStatus.Taken).ToList()

簡単Whereにするために、私はメソッド構文を好みます。List(Of OrderDetail)の代わりに が必要なので、拡張メソッドIEnumerable(Of OrderDetail)を呼び出すだけです。ToList()

于 2013-03-28T09:55:46.813 に答える