2012-06-05 15 views

Odpowiedz

8

Tak & tak.

Jest to możliwe, a wszystkie z nich muszą być tego samego typu, jeśli trzeba przekazać różne typy, należy zamiast tego użyć typu danych obiektu, a następnie rozwinąć je w ramach funkcji. użycie ParamArray:

' Accept variable number of arguments 
Function Sum(ByVal ParamArray nums As Integer()) As Integer 
    Sum = 0 
    For Each i As Integer In nums 
    Sum += i 
    Next 
End Function ' Or use Return statement like C# 

Dim total As Integer = Sum(4, 3, 2, 1) ' returns 10 

uzyskać więcej informacji zobacz this

1

wiem, że to już odpowiedział i prawdopodobnie większość ludzi przychodzi tu regularnie na odpowiedź. Odpowiedź @pylover jest poprawna, ale aby ją dodać, można uniknąć przechodzenia przez wszystkie elementy, po prostu wywołując funkcję Sum(). A zatem;

Function Sum(ByVal ParamArray nums As Integer()) As Integer 
    Return nums.Sum() 
End Function 

Po wywołaniu funkcji

Dim total As Integer = Sum(4, 3, 2, 1) 

total powraca 10. Inne funkcje, które można na nim wykonywać, obejmują: Max(), Min(), itp.

Powiązane problemy