Czy istnieje sposób na stworzenie metody o nieznanej liczbie parametrów?Funkcja lub metoda z nieznaną liczbą parametrów
a jeśli jest to przypadek:
- Jak to jest możliwe, aby uzyskać do nich dostęp w tej metodzie?
- Czy muszą być tego samego typu?
Czy istnieje sposób na stworzenie metody o nieznanej liczbie parametrów?Funkcja lub metoda z nieznaną liczbą parametrów
a jeśli jest to przypadek:
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
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.