我已经看到关于变量捕获如何为变量创建闭包的无数帖子,但是它们似乎都没有具体细节,并且把整个事情称为"编译魔术".
我正在寻找一个明确的解释:
我倾向于根据值和指针(更接近内部发生的核心)的答案,尽管我会接受一个涉及值和引用的明确答案.
当你想在大多数时候想要改变类型时,你只想使用传统的演员.
var value = (string)dictionary[key];
Run Code Online (Sandbox Code Playgroud)
这很好,因为:
那么使用什么是一个很好的例子as我无法真正找到或想到适合它的东西?
注意:实际上我认为有时会出现编译器阻止使用强制转换的情况as(泛型相关?).