CSharp - 输出参数的C# 语法糖?

  显示原文与译文双语对照的内容

让我们假设 C# 允许多个返回值,这里我们期望看到类似的内容:


string sender = message.GetSender();


string receiver = message.GetReceiver();



压缩到:


string sender, receiver = message.GetParticipants();



在这种情况下,我不必理解方法的返回值,直到实际使用方法调用。 或者许我依靠i 告诉我我处理的返回值,或者我正在寻找一个返回我不熟悉的类的方法。

类似地,我们在 C# 中也有类似的内容:


string receiver;


string sender = message.GetParticipants(out receiver);



GetParticipants参数为 string字符串参数的地方。 但是,这有点不同,因为它意味着我必须跳过或者至少返回创建变量的代码。 这有点 counterintuitive 。

我的问题是,当前 C# 中有什么句法糖,它允许开发人员在同一行中与方法调用相同。 我认为它会使开发变得更加流畅,并且如果我做类似的事情,也会使代码更易读:


string sender = message.GetParicipants(out string receiver);



显示在现场声明和分配接收器的步骤。

时间: 原作者:

不,这里目前没有任何语法糖。 我还没有听说过任何一个。

我不能说我经常使用 out 参数,它真的是我的一个重要问题,但我同意它有点烦人。

原作者:

.NET 4将添加一个元组概念,该概念处理。 然而,C# 语言不会为"destructuring绑定"提供任何语言支持。

...