显然,C#同时处理嵌套表达式和链式表达式.
Foo(Bar(Baz().Bop()))
可以按照以下顺序进行判断:
Baz()
Bop()
Bar()
Foo()
但是如果筑巢是线性的呢?考虑:Foo(Baz()).Bar(Bop())
显然,以下这些都是事实:
-
Foo
之前Baz
-
Bar
之前Foo
-
Bar
之前Bop
但目前尚不清楚Bop
人的具体判断时间.
- 可能性#1
- 可能性#2
- 可能性#3
我的直觉是,第三种 Select 可能是正确的.i、 e.在开始判断.Bar(Bop())
中的any之前,它将全面判断Foo(Baz())
虽然我当然可以测试个人情况,看看会发生什么,但这并不能告诉我我的猜测是否会是真的?
但我的问题是:
如果不是,至少我们知道它是确定性的吗?