Parametr „ref” służy do przekazania wartości przez odniesienie z parametru rzeczywistego do parametru formalnego, tj. Z metody wywoływanej do metody wywoływanej. W języku C # parametr zadeklarowany za pomocą modyfikatora „ref” jest parametrem odniesienia. Po przekazaniu parametrów przez odniesienie, w przeciwieństwie do parametrów wartości, dla tego parametru nie jest tworzona nowa lokalizacja. Wszelkie zmiany w parametrze formalnym zostaną odzwierciedlone w parametrze rzeczywistym.
Przykład parametru ref
Jak pokazano w powyższym fragmencie programu, wszelkie zmiany dokonane w m zostaną odzwierciedlone w n, ponieważ parametr jest przekazywany przez odwołanie.
Parametr wyjściowy służy do przekazania wyniku z powrotem do funkcji wywołującej. Słowo kluczowe „out” służy do zadeklarowania parametru jako parametru wyjściowego. Podobnie jak parametr referencyjny, parametr wyjściowy nie tworzy nowej lokalizacji pamięci. Zamiast tego staje się aliasem parametru w metodzie wywołującej.
Przykład parametru out
W powyższym programie x jest deklarowany jako parametr wyjściowy funkcji wywołującej i, jak widać, x nie został zainicjowany. Po zakończeniu funkcji Kwadrat wartość q zostanie skopiowana do parametru wyjściowego x.