プログラミングでアイデアを具現化したい

あらゆるものを具現化するためにプログラミングを始めました。主にC#

List<T>とラムダ式の組み合わせ

    class Program {
        static void Main(string[] args) {
            var list = new List<string> {
                "USD/JPY","EUR/JPY","EUR/USD",
                "GBP/JPY","GBP/USD","AUD/JPY",
                "AUD/USD","NZD/JPY","NZD/USD"
            };

            //Exists 引数で指定した条件に一致する要素の存在をtrue/falseで返す
            var exists = list.Exists(str => str[0] == 'N');
            Console.WriteLine(exists);

            //Find 引数で指定した条件と一致する要素を検索し、最初に見つかった要素を返す
            var find = list.Find(str => str == "GBP/JPY");
            Console.WriteLine(find);

            //FindIndex 見つかったインデックスを返す
            var findIndex = list.FindIndex(str => str == "GBP/JPY");
            Console.WriteLine(findIndex);

            //FindAll 引数で指定した条件すべて取得します
            var ccys = list.FindAll(str => str[4] == 'U');
            foreach(var ccy in ccys)
                Console.WriteLine(ccy);

            //RemoveAll 引数で指定した条件に一致する要素をリストから削除します。戻り値は削除した数
            var removeAll = list.RemoveAll(str => str[4] == 'U');
            Console.WriteLine(removeAll); //2
            foreach (var ccy in list)
                Console.WriteLine(ccy);
            Console.WriteLine();

            //ForEach リストの各要素に指定した処理を実行
            list.ForEach(str => Console.WriteLine(str));
            Console.WriteLine();

            //ConvertAll リスト内の要素を変換する
            var lowerList = list.ConvertAll(str => str.ToLower());
            lowerList.ForEach(str => Console.WriteLine(str));
        }
    }

実行結果
f:id:tos5511:20170312021500p:plain


参考書はこちらを使用しています。

実戦で役立つ Cプログラミングのイディオム/定石&パターン