2016-09-12 3 views
2

いくつかのVB.NETコードを変換しています。いくつかの静的関数は、参照渡しされたいくつかのパラメータで動作しますが、何も返しません。戻り値を持たずにデバッグエラーがなくても、VB.NET関数で何が起こっているのでしょうか?ブール値はどうなりますか?例えば、Return文を使用して、または関数名に値を代入戻り値のないVB.NET関数は、C#に変換されてエラーを返しますか?

Overloads Shared Function ExampleMethod(ByRef buffer1() as Byte, ByRef buffer2() as Byte) As Boolean 
'do stuff here, no return types 
End Function 

Overloads Shared Function ExampleMethod(ByRef buffer1() as Byte, ByRef buffer2 as Byte) As Boolean 
'do stuff here, no return types 
End Function 
+1

私が間違っていれば私を訂正してください。それは 'As Boolean'は' Boolean'を返すことを意味しますか?また、この投稿の 'ByRef'をチェックすることもできます:http://stackoverflow.com/questions/9717057/c-sharp-passing-arguments-by-default-is-byref-instead-of-byval – Prisoner

答えて

3

あなたはして値を返すことができVB.Netでhttps://msdn.microsoft.com/en-us/library/sect4ck6.aspx

を参照してくださいいずれか

ExampleMethod = true 
    Exit Function 
End Function 

それは、次のように言います。

Exit Function witを使用するとhoutにnameに値を代入すると、プロシージャはreturntypeで指定されたデータ型のデフォルト値を返します。 returntypeが指定されていない場合は、Objectのデフォルト値であるNothingが返されます。

C#はもう少し厳格です!

関連する問題