Когда он говорит, что «приводит к x», это означает после любого разрешения любых вызовов y, что согласуется с тем, как работает нулевой условный оператор (?.
). Это означает, что вместо того, чтобы делать что-то вроде этого:
let s = scope String();
s.AppendF("2 + 3 = {}", 2+3);
Console.WriteLine(s);
... вы можете использовать String()..AppendF(...)
вместо String().AppendF(...)
, и поскольку это выражение разрешится (снова, после вызывается AppendF
) слева от оператора, что совпадает с s
, все это можно поместить в вызов WriteLine
:
Console.WriteLine(scope String()..AppendF("2 + 3 = {}.", 2+3));
И Бит «цепочка» относится к использованию нескольких каскадных операторов-членов в строке для последовательного вызова членов одного и того же объекта в одном и том же выражении. Например, вы можете сделать это:
Console.WriteLine(scope String()..AppendF("Two + three = {}.", 2+3)..ToUpper());
... вместо этого:
let s = scope String();
s.AppendF("Two + three = {}.", 2+3);
s.ToUpper();
Console.WriteLine(s);