考虑这个简单的 .js 代码:
const createCounter = () => {
let value = 0;
return {
increment: () => { value += 1 },
decrement: () => { value -= 1 },
logValue: () => { console.log(value); }
}
}
// 使用方法
const { increment, decrement, logValue } = createCounter();
我相信C#支持一等函数,注意我不想使用类来重新制作上面的代码。在C#中,等效的闭包是什么?
我已经做了这个:
public Func<WhatType?> CreateCounter = () => {
var value = 0;
return what?
}
Map
。我不知道C#(或类似语言)中是否有解构的概念。 - MinusFour