Rozdíl mezi parametrem ref a out v c #

ref (referenční) parametr

Parametr „ref“ se používá k předání hodnoty odkazem ze skutečného parametru na formální parametr, tj. Z metody callee na volanou metodu. V C # je parametr deklarovaný modifikátorem „ref“ referenčním parametrem. Když předáte parametry odkazem, na rozdíl od hodnotových parametrů se pro tento parametr nevytvoří nové umístění. Jakékoli změny provedené ve formálním parametru se projeví ve skutečném parametru.

Příklad parametru ref
Jak je ukázáno ve výše uvedeném úryvku programu, všechny změny provedené v m se projeví na n, protože parametr je předán odkazem.

out (Output) Parametr

Výstupní parametr se používá k předání výsledku zpět volající funkci. Klíčové slovo „out“ se používá k deklarování parametru jako výstupního parametru. Podobně jako referenční parametr nevytváří výstupní parametr nové umístění úložiště. Místo toho se stane aliasem parametru metody volání.

Příklad parametru out
Ve výše uvedeném programu je x deklarováno jako parametr out ve volající funkci a jak vidíte, x nebylo inicializováno. Po ukončení funkce Square bude hodnota q zkopírována do výstupního parametru x.

Rozdíl mezi parametrem ref a out v C #

  1. V referenčním parametru změny provedené ve formálním parametru odrážejí skutečný parametr, zatímco v parametru out se hodnota odráží zpět na parametr out volající funkce..
  2. Skutečnému parametru „output“ obvykle není přiřazena hodnota, zatímco skutečnému parametru deklarovanému jako reference by měla být vždy přiřazena hodnota před voláním.
    Poznámka: Musíte přiřadit hodnotu parametru out v těle metody; jinak nebude metoda zkompilována.
  3. Parametry out i ref nevytvářejí nové umístění paměti.
  4. Parametry ref a out jsou zpracovávány odlišně za běhu, ale jsou zpracovávány stejně během kompilace.
TO