[解決済み】C#の述語デリゲート
2022-04-02 13:29:04
質問
説明してください。
- Predicate Delegateとは何ですか?
- 述語はどこで使うべき?
- 述語を使用する際のベストプラクティスは?
ソースコードを記述していただけるとありがたいです。
解決方法は?
述語は
true
または
false
. 述語デリゲートは、述語への参照である。
つまり、基本的に述語デリゲートは、述語を返す関数への参照です。
true
または
false
. 述語は、値のリストをフィルタリングするのに非常に便利です - 以下に例を示します。
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> list = new List<int> { 1, 2, 3 };
Predicate<int> predicate = new Predicate<int>(greaterThanTwo);
List<int> newList = list.FindAll(predicate);
}
static bool greaterThanTwo(int arg)
{
return arg > 2;
}
}
C# 3を使用している場合は、ラムダを使用して述語をよりきれいに表現することができます。
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> list = new List<int> { 1, 2, 3 };
List<int> newList = list.FindAll(i => i > 2);
}
}
関連
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] C#がforeachで変数を再利用するのは理由があるのか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] .NET Coreと.NET Standard Class Libraryのプロジェクトタイプの違いは何ですか?
-
[解決済み] 非同期Task<T>メソッドを同期的に実行するにはどうしたらいいですか?
-
[解決済み] C#のインターフェイス。暗黙の実装と明示の実装
-
[解決済み】文字列の中にある文字列(実際はchar)の出現回数を数えるには?
-
[解決済み】IEnumerable vs List - What to Use? どのように動作するのでしょうか?
最新
-
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#
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】C#で四捨五入する方法
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】HRESULTからの例外:0x800A03ECエラー
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み] c#の述語とは何ですか?[重複しています]