Słowa kluczowe - ref oraz out używane są do przekazywania parametrów do funkcji.
W obu przypadkach parametry przekazywane są jako referencje (adres) a nie wartości.

ref vs. out - różnice

  • w przypadku ref zmienna musi być zainicjalizowana przed przekazaniem jej jako parametr
  • w przypadku out nie jest wymagane by zmienna była zainicjalizowana przed przekazaniem jako parametr
  • ref - przypisanie wartości do zmiennej w funkcji nie jest wymagane przed powrotem do funkcji wywołującej
  • out - w metodzie wywołanejmusi być zainicjalizowana wartość przekazanej zmiennej przed powrotem do funkcji wywołującej

Mówiąc prościej:

  • ref oznacza, że przekazany parametr ma już przypisaną wartość, która może być odczytana bądź zmieniona w wywołanej funkcji
  • out oznacza, że przekazany parametr nie posiada przypisanej wartości i musi być ona nadana w wywołanej funkcji

Out często jest używane w przypadku, gdy chcemy żeby funkcja zwracała więcej niż jeden parametr (out jako input nie przyjmuje żadnej wartości).

bobs1 03-02-2022 12:41
Można dodać przykłady z wbudowanych mechanizmów np. Int.TryParse(...), tam jest właśnie użyte out.


© 2024 - SkillsTest.pl | | Regulamin | Polityka Prywatnosci