conDic.AddOrUpdate(key, newValue, (cKey, oldValue) => newValue);
的(cKey, oldValue) => newValue这个lambda表达式
是不是在系统运行到了这里才会生成?
故newValue对于该lambda是个常量。
如果不是动态生成,那系统又怎么处理newValue的?
是隐藏的有第三个产生来传newValue,即:(cKey, oldValue, newValue) => newValue ?
4 个解决方案
#1
不是动态生成的,是经过预编译的, 你调试的时候可以打个断点然后编辑里面的表达式,更改之后是没办法编辑并继续的
#2
那如果是预编译的对于(cKey, oldValue) => newValue 系统是怎么处理newValue的呢?这个值可是必须运行到这一步才能确定呀。
#3
找到对应的知识点了,是闭包的概念。
#4
#1
不是动态生成的,是经过预编译的, 你调试的时候可以打个断点然后编辑里面的表达式,更改之后是没办法编辑并继续的
#2
那如果是预编译的对于(cKey, oldValue) => newValue 系统是怎么处理newValue的呢?这个值可是必须运行到这一步才能确定呀。
#3
找到对应的知识点了,是闭包的概念。