2

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;
}

それが設計によるものなのか、これを行う正しい方法がわからないだけなのかはわかりません..教えてください!

前もってありがとう、エイタン。

4

2 に答える 2

4
于 2012-11-04T11:06:56.167 に答える
1

私の知る限り、C# に相当するものはありません。ただし、これは VB のシュガー構文にすぎません。内部的には、関数名がreturn動作に置き換えられているためです。

関数名を戻りパラメータとして使用する可読性については、非常に議論の余地があります。ほとんどの人はそれが好きではありません。

return関数名にはない利点も提供し、その特定の場所でメソッドを解決します。

于 2012-11-04T11:03:26.110 に答える