gpt4 book ai didi

c# - 是否可以编写类似 - ()() 的语法?

转载 作者:IT王子 更新时间:2023-10-29 03:51:20 25 4
gpt4 key购买 nike

我在某处的电子书中读到(我很想再次找到它),通过使用委托(delegate),可以编写具有如下语法的代码:

 ()(); // where delegate precedes this.

任何人都可以提供任何细节,这是如何可能的/在什么情况下会发生?

最佳答案

你可以做得比目前给出的例子稍微好一点,事实上......你可以任意扩展它:

class Test
{
delegate Hofstadter Hofstadter();

static void Main()
{
// Unfortunately I'm clearly not as smart as the real thing
Hofstadter douglas = () => null;

douglas()()()()()()();
}
}

还有另一个糟糕的选择,用于额外的 ASCII 艺术:

class Test
{
delegate __ ___();
delegate ___ __(___ _);

static void Main()
{
___ _ = () => null;

_ ()((_))();
}
}

请永远不要这样做。

编辑:最后一个 - 虽然它只是用下划线替换其他任何东西,并尽可能重用名称:

class Test
{
delegate void _();
delegate __<_> ___<_>();
delegate ___<_> __<_>(___<_> ____);

static ___<_> ____<_>(___<_> ____) { return ____; }
static __<_> ____<_>() { return ____<_>; }

static void Main()
{
((__<_>)____)(____<_>)();
}
}

关于c# - 是否可以编写类似 - ()() 的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2632948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com