[解決済み] Func vs. Action vs. Predicate [重複]について
2022-02-07 17:27:49
質問
実際の例とその使い方で、どなたか理解を深めてください。
-
が必要なのはどんなとき?
Func<T, ..>
デリゲート? -
どのような場合に
Action<T>
デリゲート? -
が必要なのはどんなとき?
Predicate<T>
デリゲート?
解決方法は?
との違いは
Func
と
Action
は、単にデリゲートに値を返させたいかどうかです(
Func
を使うか、使わないかです。
Action
).
Func
は、おそらく LINQ で最もよく使われるもので、例えばプロジェクションで使われます。
list.Select(x => x.SomeProperty)
またはフィルタリングを行う。
list.Where(x => x.SomeValue == someOtherValue)
またはキー選択。
list.Join(otherList, x => x.FirstKey, y => y.SecondKey, ...)
Action
のようなものがより一般的に使用されます。
List<T>.ForEach
: リスト内の各項目に対して指定されたアクションを実行します。私はこれを
Func
とはいえ、私は
する
などにパラメータレスバージョンを使うことがあります。
Control.BeginInvoke
と
Dispatcher.BeginInvoke
.
Predicate
は、単に特殊なケースに入った
Func<T, bool>
の前に導入されました。
Func
とほとんどの
Action
代表がやってきた。もし、すでに
Func
と
Action
を、さまざまな形で表現しています。
Predicate
導入されることはなかっただろう...とはいえ
する
はデリゲートの使用に一定の意味を持たせているのに対し
Func
と
Action
は、大きく異なる目的で使用されています。
Predicate
は、ほとんどが
List<T>
のようなメソッドに対して
FindAll
と
RemoveAll
.
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】2年前のMSDateを把握する【クローズド
-
[解決済み] 関数を終了するには?
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み】別のスレッドがこのオブジェクトを所有しているため、呼び出し側のスレッドはこのオブジェクトにアクセスできない
-
[解決済み] デレゲート 述語 vs. アクション vs. 関数