Skillnad mellan ref och ut parameter i c #

ref (referens) Parameter
"Ref" -parametern används för att överföra värdet med hänvisning från aktuell parameter till formell parameter, dvs från callee-metoden till den kallade metoden. I C # är en parameter som deklareras med en "ref" modifierare en referensparameter. När du skickar parametrar genom referens, till skillnad från värdet parametrar, skapas inte en ny plats för denna parameter. Eventuella ändringar som gjorts till den formella parametern kommer att återspegla i den aktuella parametern.

Exempel på referensparameter

1234567 tomrumsökning (ref int m) m = m + 100; // värdet på n kommer att ändras ..... int n = 50; Ökning (ref n);

Som visas i ovanstående programbit, kommer eventuella ändringar som gjorts till m att reflekteras till n, eftersom parametern skickas genom referens.

ut (utgång) Parameter
Utgångsparametern används för att skicka resultatet tillbaka till anropsfunktionen. "ut" -ordet används för att deklarera parametern som en utgångsparameter. På samma sätt som en referensparameter skapar en utgångsparameter inte en ny lagringsplats. I stället blir det ett alias för parametern i anropsmetoden.

Exempel på ut Parameter

12345678910111213 Använda System; Klass MyOutput static void Square (int p, ut int q) q = p * p; statisk statisk tomt huvud () int x; Square (5, ut x); Console.WriteLine ett nr är: "+ x);

I det ovan angivna programmet deklareras x som en ut-parameter vid uppringningsfunktionen och som du kan se har x inte initierats. När Square-funktionen avslutas kopieras värdet på q till utgångsparametern x.

Skillnad mellan ref och ut-parametern i C #

  1. I referensparametern återspeglar ändringar som gjorts till den formella parametern till den aktuella parametern, medan värdet reflekteras till utgångsparametern för anropsfunktionen.
  2. Den faktiska parametern "output" brukar inte tilldelas ett värde medan en aktuell parameter som deklareras som referens ska alltid tilldelas ett värde innan det ringer.
    Notera: Du måste ange värdet till ut parametern i metodkroppen; annars kommer inte metoden att sammanställas.
  3. Både ut och ref parametrar skapar inte en ny minnesplats.
  4. Ref och ut parametrar behandlas annorlunda vid körtid, men de behandlas lika vid sammanställningstid.
DET