A „ref” paraméter arra szolgál, hogy az értéket referenciaként továbbítsuk az aktuális paraméterről a formális paraméterre, azaz a callee módszerről a meghívott módszerre. A C #-ban a „ref” módosítóval deklarált paraméter referenciaparaméter. Ha referenciaként adja át a paramétereket, akkor az értékparaméterekkel ellentétben nem hoz létre új helyet ehhez a paraméterhez. A formális paraméterben végrehajtott bármilyen változás a tényleges paraméterben tükröződik.
Példa a ref paraméterre
Amint az a fenti programrészletből látható, az m-ben végrehajtott változtatások n-re mutatnak, mivel a paraméter referenciaként kerül átadásra.
A kimeneti paraméter arra szolgál, hogy az eredményt továbbadja a hívó funkciónak. Az 'out' kulcsszó a paraméter kimeneti paraméterként való deklarálására szolgál. A referenciaparaméterhez hasonlóan a kimeneti paraméter nem hoz létre új tárolóhelyet. Ehelyett a hívó módszer paraméterének álnévvé válik.
Példa a kihagyott paraméterre
A fenti programban az x kihívási funkcióban kimeneti paraméterként van deklarálva, és amint láthatja, x nem lett inicializálva. Amikor a Négyzet funkció leáll, q értéke átmásolódik az x kimeneti paraméterbe.