プライマリクラスメンバがDictionary(Of DateTime,CustomClass)
のクラスがあります。特定の条件が満たされている場合は、.Where(Function(p) p.isTrue)
関数のように、辞書の要素を削除するメソッドを記述したいと思います。私は述語をUSINGに書いていますが、それを使って構築することは何も見つかりませんでした。これは可能ですか?ファンクション/述語パラメータを持つクラスメソッド
0
A
答えて
0
私は通常、LINQのすべてのgung-hoですが、For/Nextループを使用して辞書を逆順に繰り返し、条件に合わない項目を削除する必要があると考えられる状況です。
Public Class Foo
'Primary class member
Public Property Bar As Dictionary(Of DateTime, Foo)
'Remove method based on some condition (you may want to pass a parameter here too)
Public Sub Remove()
'Use a For/Next loop backwards
For index As Integer = Me.Bar.Keys.Count - 1 To 0 Step -1
'Check for if the condition is met and then remove the item by its index
'If ... Then
' Me.Bar.Remove(Me.Bar.ElementAt(index).Key)
'End If
Next
End Sub
Sub New()
Me.Bar = New Dictionary(Of DateTime, Foo)
End Sub
End Class
0
はい、可能です。
だけの条件を表しFunc(Of...
)引数を持つメソッドを宣言します。
Public Sub RemoveElementIf(condition As Func(Of KeyValuePair(Of DateTime, Foo), Boolean))
If condition IsNot Nothing Then Bar = Bar.Where(Function(x) condition(x))
End Sub
その後は、内部的にLINQを使用することができます。
関連する問題
- 1. boost異なる述語を持つフィルタイテレータ
- 2. 複数の述語を持つXPath
- 3. オブジェクトのパラメータを持つクラスメソッドのonclick listnerをバインドする
- 4. ruby:パラメータを持つクラスメソッドを初期化する方法は?
- 5. PL/SQLファンクション・パラメータ
- 6. MongoDB with C#:カスタム述語を持つ要素を見つける
- 7. LISP:述語をパラメータとして使用
- 8. クラスメソッドを持つimportモジュール
- 9. Prologの述語は、私は次のコードでクモと呼ばれる述語を持つつの結果
- 10. 複数の引数を取る述語を持つフィルタ
- 11. C++クラスメソッド(パラメータ付き)をrefクラスメソッドにバインド
- 12. 複雑な述語を持つ複数のフェッチ要求
- 13. パラメータ化JBehaveは、私はパラメータを持つ物語を持っている
- 14. ファンクション・パラメータの取得方法
- 15. 宣言時に値を持つクラスメソッドのパラメータを初期化するC++
- 16. クラスメソッドを持つPython functools lru_cache:releaseオブジェクト
- 17. 述語
- 18. 述語
- 19. 一致する述語を検索します。述語の述語?
- 20. C#の述語パラメータ内の値を調べる方法は? - 決定述語の平等
- 21. 述語を関数パラメータとして渡す方法
- 22. ファンクションでパラメータを必要にする
- 23. QueryDslPredicateExecutor:二つのテーブルから述語
- 24. 2つのリストのカバー述語
- 25. sworedを使用してオブジェクトリレーションの述語を持つcoredataをフェッチする
- 26. 関係のサブセットを持つ項目を選択するための述語
- 27. CloudKit述語
- 28. 述語 - 迅速
- 29. vb.net述語ラッパーエラー
- 30. remove_ifの述語
私はこのクラスをマッピングに使用していますが、あなたが説明した少しのためにオーバーウィークしているようです。メソッドに条件データを渡すことができませんでした。いくつかのパラメータは省略可能で、省略時にスキップされる可能性があります。 – Plutonix