このセクレタリは「ラムダ式自分用メモ&勉強」の内容を元に記載しています。
わからなければそっちを見てください。
デリゲートについて
デリゲートはメソッド(関数や処理)を引数として渡せるようにする宣言のこと。
例文
//見切れている部分は「メソッドの名前」
解説
//1行目
delegate bool デリゲート宣言名(string value);
引数として渡したいメソッドの定義を行っている。
今回は引数に文字列を受け取り、bool を返すメソッドを引数として渡す というデリゲートを定義
//6行目から17行目まで
private static string[] GetValue(string[] data, デリゲート宣言名 デリゲートによって渡されるメソッドの名前)
から
return result.ToArray();
まで
GetValue関数の中身を作成している。
今回は引数で渡されたデリゲートを用いて、data型に格納されている情報とデリゲートのContainsの引数である"A"を比べて同じであればデータの格納関数に値を入力している。
//Main関数以降
var data = new string[] { "A", "BB", "CCC", "DDDD", "ABCDE" };
string型のListを宣言
var result = GetValue(data, デリゲートによって渡されるメソッド);
関数であるGetValueを呼び出して、処理を行わせた後、出力関数にデータを入力する
Console.WriteLine("出力結果:" + String.Join(",", result));
データを出力する。
コメント
コメントにはログインが必要です