Help us understand the problem. What is going on with this article?

ラムダ式を用いて短いメソッドを簡潔に書く方法

More than 1 year has passed since last update.

はじめに

ラムダ式に対して理解度が乏しいので調べてみた。

ラムダ式とは

たまたま手元の本に紹介があったので読んでみた

戻り値を返す短いメソッドを、より簡潔に書く方法。
確かな力が身につくC#「超」入門 より

なるほどよくわからない。

とりあえずコンソールアプリケーションでサンプルコードを書いてみた。

Hello.World!をラムダ式で書いてみた

よくある教本にある書き方で記述すると下記のようになる。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace lamdaStudy
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello. World!");
        }
    }
}

ラムダ式を用いると下記のようになる。

※HelloWorldメソッドからラムダ式で読み込む

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace lamdaStudy
{
    class Program
    {
        static void Main(string[] args)
        {
            HelloWorld();
        }
        static void HelloWorld() => Console.WriteLine("Hello. World!");
    }
}

メソッドを呼び出そうとしなくても、エントリポイント(Mainメソッド)から呼び出せるらしい

Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace lamdaStudy
{
    class Program
    {
        static void Main(string[] args) => Console.WriteLine("Hello. World!");

    }
}

なるほど。少しだが理解が深まった気がする。

参考

・確かな力が身につくC#「超」入門

・メソッドもラムダ式で簡略化できる
https://qiita.com/octopa0327/items/413e89bd57a17097dea8

・ラムダ式 (C# プログラミング ガイド)
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/statements-expressions-operators/lambda-expressions¥

・構文:メソッドやプロパティをラムダ式で簡潔に実装するには?[C# 6.0/7.0]
http://www.atmarkit.co.jp/ait/articles/1606/01/news051.html

elu_jaune
Windows Server メインの雑食おじさん。 詳しい業務経歴はLinked Inに掲載。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away