.NET

LINQ & Delegates

LINQ クエリ構文、メソッド構文、delegate、event、lambda 式、func/action

20 面接問題·
Junior
1

C# における delegate とは何ですか?

回答

delegate は、特定のシグネチャを持つメソッドへの参照を表す型です。メソッドをパラメータとして渡したり、変数に格納したり、動的に呼び出したりできます。delegate は C# における event やコールバックの基盤であり、イベント駆動プログラミングや Strategy、Observer といったデザインパターンに不可欠な柔軟性を提供します。

2

シンプルな lambda 式を宣言する正しい構文はどれですか?

回答

(x) => x * 2 という構文が lambda 式の正しい形式です。=> 記号("lambda operator" と呼ばれる)はパラメータと式またはメソッド本体を区切ります。この簡潔な構文によりインラインの匿名関数を作成でき、LINQ で利用したり、振る舞いをパラメータとして渡したりする際に非常に便利です。パラメータが 1 つしかない場合は、その周りの括弧を省略できます。

3

int を受け取り string を返すメソッドには、どのジェネリック delegate を使うべきですか?

回答

Func<int, string> が適切なジェネリック delegate です。Func は値を返すメソッドに使われるためです。最後の型パラメータが戻り値の型を表し、それより前のものが入力パラメータを表すという規約になっています。Func は最大 16 個の入力パラメータを受け取れます。戻り値のないメソッドには、Func の代わりに Action を使う必要があります。

4

Func と Action の主な違いは何ですか?

5

LINQ は何の略ですか?

+17 面接問題

次の面接に向けて.NETをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める