前提
C#の=>の意味について教えてください。
発生している問題・エラーメッセージ
補足情報のURLの、
DataGridの動的な列追加について解説を読んでいた中で
private readonly DataTable dataTable = new DataTable(); public DataView dataView => new DataView(dataTable);
とのコードがありました。
=>があるため、この一文の意味が理解できません。
=>を含むと上記はどういった意味を持つ式になるでしょうか。
補足情報(FW/ツールのバージョンなど)
何か調べてみたことはありますか?
はい、あります。
調べてわかったこと、わからなかったことはどのような感じですか?
ラムダ式の使い方について同様の表記を探しきれず、
ラムダ式でプロパティが表記できることが分かっておりませんでした。
> ラムダ式でプロパティが表記できることが分かっておりませんでした。
これはラムダ式ではありません。
そうなのですか!
下記サイトのこちらの説明と同義だと認識していたのですが解釈が異なっていますでしょうか。
// 読み取り専用プロパティ:ラムダ式で記述
public string FullName => FirstName + " " + LastName;
https://atmarkit.itmedia.co.jp/ait/spv/1606/01/news051.html
この記事が間違っています。
これは式形式のメンバーというもので、ラムダではありません。
誤って理解してしまうところでした。
ご指摘いただきありがとうございますm(_ _)m
改めて自分できちんと調べたいと思います。
自分で調べられるなら URL は出しませんが、Microsoft の公式のドキュメントを参考にしてください。
ラムダ式は「引数 => 本体」の形式になっており、「=>」は「ラムダ演算子」であるとラムダ式の説明のところに書いてあります。
式本体のメンバーの場合は引数も無く、演算子でもありません。そもそも用途が違います。つまり、見た目以外は全部違います。
たとえばラムダ式は Expression 型の変数に収めて式木を構築できたり、高階関数に渡したりできますが、プロパティはできません。
解説含めご教示いただきありがとうございます。はっきりとものが違うことを認識しました。
公式ドキュメントを見て確認いたします。
回答1件
あなたの回答
tips
プレビュー