Forskel mellem ref og ud parameter i c #

ref (Reference) Parameter

“Ref” -parameter bruges til at videregive værdien ved henvisning fra faktisk parameter til formel parameter i.e fra callee-metode til den kaldte metode. I C # er en parameter, der er erklæret med en "ref" -modifikator, en referenceparameter. Når du passerer parametre ved henvisning, i modsætning til værdiparametre, oprettes der ikke en ny placering til denne parameter. Eventuelle ændringer foretaget af den formelle parameter afspejles i den aktuelle parameter.

Eksempel på ref-parameter
Som vist i ovenstående programuddrag, vil alle ændringer, der er foretaget til m, blive reflekteret til n, da parameteren sendes som reference.

ud (Output) Parameter

Outputparameteren bruges til at videresende resultatet til opkaldsfunktionen. 'ud' nøgleord bruges til at erklære parameteren som en outputparameter. I lighed med en referenceparameter opretter en outputparameter ikke en ny lagerplads. I stedet bliver det et alias til parameteren i opkaldsmetoden.

Eksempel på ud-parameter
I ovenstående program erklæres x som en udparameter i opkaldsfunktion, og som du kan se, er x ikke initialiseret. Når firkantfunktionen afsluttes, kopieres værdien af ​​q til outputparameteren x.

Forskel mellem ref og ud parameter i C #

  1. I referenceparameteren afspejler ændringer, der er foretaget til den formelle parameter, den aktuelle parameter, mens værdien i ud-parameter reflekteres tilbage til ud-parameteren for den opkaldsfunktion.
  2. Den 'output' faktiske parameter tildeles normalt ikke en værdi, mens en faktisk parameter, der er erklæret som reference, altid skal tildeles en værdi, før du ringer.
    Bemærk: Du skal tildele værdi til ud-parameteren i metodekroppen; Ellers vil metoden ikke blive kompileret.
  3. Både ud- og ref-parametre opretter ikke en ny hukommelsesplacering.
  4. Ref og out-parametrene behandles forskelligt ved kørselstidspunkt, men de behandles ens på kompileringstidspunktet.
DET