相关疑难解决方法(0)

闭包中变量捕获的详细说明

我已经看到关于变量捕获如何为变量创建闭包的无数帖子,但是它们似乎都没有具体细节,并且把整个事情称为"编译魔术".

我正在寻找一个明确的解释:

  1. 如何实际捕获局部变量.
  2. 捕获值类型与引用类型之间的差异(如果有).
  3. 并且是否存在关于值类型的任何装箱.

我倾向于根据值和指针(更接近内部发生的核心)的答案,尽管我会接受一个涉及值和引用的明确答案.

.net c# closures value-type reference-type

57
推荐指数
1
解决办法
9792
查看次数

什么时候应该在C#中使用as关键字

当你想在大多数时候想要改变类型时,你只想使用传统的演员.

var value = (string)dictionary[key];
Run Code Online (Sandbox Code Playgroud)

这很好,因为:

  • 它很快
  • 如果出现问题,它会抱怨(而不是给对象是空的例外)

那么使用什么是一个很好的例子as我无法真正找到或想到适合它的东西?

注意:实际上我认为有时会出现编译器阻止使用强制转换的情况as(泛型相关?).

.net c# as-operator c#-3.0

20
推荐指数
4
解决办法
1万
查看次数

标签 统计

.net ×2

c# ×2

as-operator ×1

c#-3.0 ×1

closures ×1

reference-type ×1

value-type ×1