任何与VB.net函数名等效的函数名作为C#中的返回值?

任何与VB.net函数名等效的函数名作为C#中的返回值?,c#,vb.net,C#,Vb.net,在vb.net中,有一种奇怪的方法,可以使用函数名作为结果变量 例如: Function Foo(ByVal bar As Integer) As List(Of Integer) Foo = New List(Of Integer) Foo.Add(bar + 1) End Function 据我所知,在C#中,你必须: List<int> foo(int bar) { var result = new List<int>();

在vb.net中,有一种奇怪的方法,可以使用函数名作为结果变量

例如:

Function Foo(ByVal bar As Integer) As List(Of Integer)
    Foo = New List(Of Integer)
    Foo.Add(bar + 1)
End Function
据我所知,在C#中,你必须:

List<int> foo(int bar) 
{
     var result = new List<int>();
     result.Add(bar + 1);
     return result;
}
List foo(整型条)
{
var result=新列表();
结果:添加(条形图+1);
返回结果;
}
我不确定这是故意的还是我不知道该怎么做。。 请照亮我

提前感谢,,
伊坦。

据我所知,没有碳当量。然而,在VB中,这只是一种简单的语法,因为在后台,函数名被
return
行为所取代

使用函数名作为返回参数的可读性存在很大争议。大多数人不喜欢它

return
还提供了函数名所没有的一个优势,即在特定位置解析方法。

C#不支持这一点。从历史的角度来看,VB支持这一点的唯一原因是以前的(pre-.NET)版本专门使用函数名分配,即没有
Return
语句。1

NET开发人员普遍认为,即使在VB中也应该使用
Return…
方法,而不是使用
FunctionName=…
Exit函数



1实际上他们做了,但它做了其他事情。

问题是什么?你可以在VB中使用
Return
。我想问的是如何避免在C#中的每个函数上声明Return变量?是的,我确实理解。。但是我想让我的C代码更甜(:@user1179861:如果你想让你的C代码更甜,(或你的VB)不要使用函数名。:@Oded:代码牙医总是定价过高。这不仅仅是语法上的甜头。使用return语句,该方法立即返回。当使用方法名设置器时,它不会。因此,您可以在到达方法末尾之前多次更改该值,例如在循环中或其他任何情况下。以前的版本指的是Visual Basic的非.NET版本(VB6、VBScript和VBA)。@Oded LOL,在我看来,“以前的版本”是VB6,即使我们早已将VB7抛在脑后。我会修好的。