delegate を変数を介さずに直接実行したい
C# にて、以下のように、delegate を変数を介さずに直接実行したいです。

```

    int n = delegate()
    {
        return 10;
    }();
    
```

実際には上記コードは構文エラーになるので、以下のように変数を絡める必要があります。

```

    Func<int> f = delegate()
    {
        return 10;
    };
    int n = f();
    
```

変数を介さずに呼ぶことができないと困る、というわけではありませんが、何かしら直接呼べる方法があると少しだけ嬉しいです。他言語の例を挙げると、JavaScript等では前述のコードに似た記述ができますよね。何か良い解決策または代案ありますでしょうか。
```

    int n = (new Func<int>(delegate() { return 10; }))();
    
```
ラムダ式ですが

```

    var n = new Func<int>(() => 10)();
    
```

も可能です。