0

操作员文档中,它是这样说的:

x..y- 级联成员访问。结果为 x,这对于将方法调用链接在一起很有用。

这是什么意思?这是如何使用的?搜索“级联成员访问”只是有意义地为我提供了牛肉文档的摘录。

4

1 回答 1

0

当它说它“导致 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);
于 2020-01-16T21:00:18.100 回答