假设没有返回void,而是返回对类的引用,即使它没有任何特定的语义意义.在我看来,它会给你更多关于如何调用方法的选项,允许你以流畅的界面风格使用它,我不能真正想到任何缺点,因为你不需要做任何事情带有返回值(甚至存储它).
因此,假设您处于要更新对象然后返回其当前值的情况.而不是说
myObj.Update();
var val = myObj.GetCurrentValue();
Run Code Online (Sandbox Code Playgroud)
你可以把两条线结合起来说
var val = myObj.Update().GetCurrentValue();
Run Code Online (Sandbox Code Playgroud)
编辑: 我一想到就问下面,回想起来,我同意它可能是不必要的和复杂的,但是关于归还这个而不是无效的我的问题就在于此.
在一个相关的说明中,你们怎么看待这种语言包括一些新的语法糖:
var val = myObj.Update()<.GetCurrentValue();
Run Code Online (Sandbox Code Playgroud)
此运算符的优先级较低,因此myObj.Update()将首先执行,然后在myObj上调用GetCurrentValue()而不是Update的void返回.
基本上我正在想象一个操作员会说"在左边的第一个有效对象上调用操作员右侧的方法".有什么想法吗?
Class Player {
Player setName(String name){
this.name = name;
return this;
// or
void setName(String name){
this.name = name;
}}
Run Code Online (Sandbox Code Playgroud)
你好.如果我使用"void"或"return this"语句使用该方法有什么区别?为什么"返回此"语句存在,如果它也一样?