dポイントプレゼントキャンペーン実施中!

下記の普通の関数は、static void Main(string[] args) {}の中で
使用できますが、次のラムダ式の記法と徹底的に省略した記法は、使用出来ない
様です。
つまり、これらの記述を行うだけで、コンパイルエラーが発生します。
Q1)この様な記述がC#で許されるならば、正しい書き方をお教え頂けますと大変有難いです。
====================
// 普通の関数記法
private int Add(int x, int y)
{
return x + y;
}

// ラムダ式の記法
(int x, int y) => { return x + y; };

// 徹底的に省略した記法
// 関数本体が1行で済むなら{}とreturnを省略できる
(x, y) => x + y;
========================
以上、宜しくお願いします。

A 回答 (2件)

関数でのラムダ式は


private static int Add(int x, int y) => x + y;

ですよ。

(x, y) => x + y;
この書きっぷりはメソッドの引数が匿名関数などのデリゲートでないとできません。
    • good
    • 0

こんな欠片じゃなくって, きちんとした「プログラム」の中でどうであるのかを書いてくれないかな?

    • good
    • 0
この回答へのお礼

>こんな欠片じゃなくって, きちんとした「プログラム」の中でどうであるのかを書いてくれないかな?
<ーー下記の『(x, y) => x + y;』でコンパイルエラー
になります。
宜しくお願いします。
namespace BBB
{
class Program
{
static public int Add(int x, int y) {return x + y;}
// ラムダ式の記法
(int xx, int yy) => { return xx + yy; };

// 徹底的に省略した記法
// 関数本体が1行で済むなら{}とreturnを省略できる
(x, y) => x + y;
static void Main(string[] args)
{
int x = 1;
int y = 2;
int ans;
ans=Add(x, y);
Console.WriteLine(ans);
}

お礼日時:2021/12/20 08:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!