Nyckelskillnad - ut mot ref i C #
C # är ett modernt programmeringsspråk utvecklat av Microsoft. Den används för att utveckla olika applikationer för skrivbord, webb och mobil. Funktioner eller metoder är ett begrepp vid programmering. Den gruppen uttalanden som används för att utföra en specifik uppgift kallas en funktion eller en metod. I C # -program börjar körningen från main (). Det är ett exempel på en metod. När du anropar en metod skickas data till metoden eller tas emot från metoden. Metoden som anropar den nya metoden kallas att anropa metoden. Den nya metoden kallas den kallade metoden. För att hantera överföringsvärdena och få tillbaka resultatet använder C # parametrar. De är värderade parametrar, utgångsparametrar och referensparametrar. Värdeparametrarna används för att överföra parametrar till metoden efter värde. Referensparametrarna används för att överföra parametrar till metoden genom referens. Utgångsparametrarna används för att skicka tillbaka resultatet från metoden. I C # används out-nyckelord för utmatningsparametrar och ref-nyckelord används för att referera till parametrar. Huvudskillnaden mellan ut och ref i C # är att ut är ett nyckelord som används för att hänvisa en utmatningsparameter som används för att skicka resultat från den anropade metoden till anropsmetoden medan ref är ett nyckelord för att hänvisa en referensparameter som används för att skicka data från anropsmetoden till den anropade metoden och att ta emot data från den anropade metoden till anropsmetoden.ut är ett nyckelord som används för att hänvisa en utmatningsparameter som används för att skicka resultat från den anropade metoden till anropsmetoden medan ref är ett nyckelord för att hänvisa en referensparameter som används för att överföra data från anropsmetoden till den anropade metoden och för att ta emot data från den anropade metoden till anropsmetoden.ut är ett nyckelord som används för att hänvisa en utdataparameter som används för att skicka resultat från den anropade metoden till anropsmetoden medan ref är ett nyckelord för att hänvisa en referensparameter som används för att överföra data från anropsmetoden till den anropade metoden och för att ta emot data från den anropade metoden till anropsmetoden.
INNEHÅLL
1. Översikt och nyckeldifferens
2. Vad finns ute i C #
3. Vad är ref i C #
4. Likheter mellan ut och ref i C #
5. Jämförelse sida vid sida - ut vs ref i C # i tabellform
6. Sammanfattning
Vad finns ute i C #?
Syntaxen för funktion eller metod är som följer. En metod har ett antal element som metodnamn, parameterlista, returtyp och åtkomstspecifikator.
(parameterlista)
{// uttalanden att utföra
}
Varje metod har en unik metod för att ringa funktionen. De körbara uttalandena finns i lockiga hängslen. Returtypen förklarar om funktionen returnerar ett värde eller inte. När det inte finns någon returtyp kallas den ogiltig. Access specifier används för att specificera metodens tillgänglighet i applikationen. Parametrarna används för att ta emot eller överföra data till metoden. Det kan också finnas metoder utan parametrar. Parametrar kan värderas parametrar, utmatningsparametrar eller referensparametrar.
Utgångsparametrarna används för att skicka resultat tillbaka till anropsmetoden. För det bör parametern deklareras med nyckelordet ute. Utgångsparametern skapar inte en ny lagringsplats. Generellt returnerar en metod ett värde. Men i C # är det möjligt att returnera två värden från en funktion med utgångsparametrar. Se nedanstående program.
namespace-applikation1 {
offentlig klassberäkning {
offentlig ogiltig visning (ut int a, ut int b) {
int-värde = 5;
a = värde;
b = värde;
a = a * a;
b = b * b;
}
public static void main (String args) {
int-värde1 = 10, värde2 = 20;
Beräkning cal = ny Beräkning ();
cal.display (ut värde1, ut värde2);
Console. ReadLine ();
}
}
}
Displayfunktionen anropas från huvudmetoden. Värdet 1 och värdet två har 10 och 20, men de tas inte med i metoden. Värdet på a är 25 och värdet på b är också 25 i funktionen. Därför returneras dessa värden. När du skriver ut värde 1 och värde 2 kommer det inte att ge 10 och 20. Istället kommer det att skrivas ut 25 och 25. Med hjälp av det utdragna sökordet kan flera värden returneras från metoden.
Vad är ref i C #?
När parametrar skickas efter värde skapas en ny lagringsplats för varje parameter. De faktiska parametrarna som skickades från huvudprogrammet ändras inte. Istället kopieras dessa värden till en separat plats. Dessa nya variabla kopior kallas formella parametrar. Se koden nedan.
namespace-applikation1 {
offentlig klassberäkning {
offentligt tomrumsbyte (int x, int y) {
int temp;
temp = x;
x = y;
y = temp;
}
public static void main (String args) {
Beräkning cal = ny Beräkning ();
int p = 2;
int q = 3;
cal.swap (p, q);
Console. WriteLine (p);
Console. WriteLine (q);
Console. ReadLine ();
}
}
}
Enligt ovanstående program har beräkningsklassen en metodbyte (). I huvudprogrammet skapas ett objekt av typen Beräkning. Det finns två värden som p och q. Variabeln p har värde 2 och q variabel har värde 3. Dessa två värden skickas till bytesmetoden. I swap-metoden kopieras värdet 2 till variabeln x och värdet 3 kopieras till variabeln y. Med temp-variabeln byts värdena ut. Tillbaka i huvudprogrammet, när du skriver ut p och q, byts inte värdena ut. P-värdet är fortfarande 2 och q-värdet 3. Även i swap-metoden byts värden ut men återspeglas inte i huvudprogrammet.
Till skillnad från överföringsvärden som ovan är det möjligt att skicka parametrar genom referens. En referensvariabel är en referens till minnesplatsen. Det finns ingen ny minnesplats skapad. Ändringarna i metoden återspeglas i huvudprogrammet. I C # hänvisas referensparametrarna med hjälp av ref-nyckelord. Se nedanstående program.
namespace-applikation1 {
offentlig klassberäkning {
offentligt tomrumsbyte (ref int x, ref int y) {
int temp;
temp = x;
x = y;
y = temp;
}
public static void main (String args) {
Beräkning cal = ny Beräkning ();
int p = 2;
int q = 3;
cal.swap (ref p, ref q);
Console. WriteLine (p);
Console. WriteLine (q);
Console. ReadLine ();
}
}
}
Enligt ovanstående program har klassen Beräkning swapmetoden. I huvudprogrammet skapas ett objekt av typen Beräkning. De är två variabler som p och q. P-variabeln har värdet 2 och q-variabeln har värdet 3. I stället för att överföra värden skickas referensen till minnesplatserna för p och q till metoden. Dessa referensvariabler hänvisas med ref. I bytesmetoden görs ändringarna till de faktiska parametrarna i stället för att kopiera värdena till en ny plats. När du skriver ut p- och q-värdena i huvudprogrammet kommer de att byta värden. Nu är p-värdet 3 och q-värdet är 2.
Vad är likheten mellan ut och ref i C #?
Båda är nyckelord som används för att hänvisa parametrarna för en metod
Vad är skillnaden mellan ut och ref i C #?
Skilja artikeln mitt före bordet
ut mot ref i C # |
|
Out är ett nyckelord i C # som används för att hänvisa till en utdataparameter. Den används för att skicka resultaten från en kallad metod till att anropa metoden. | Ref är ett nyckelord i C # som används för att referera till en referensparameter. Den används för att skicka data från anropsmetoden till den anropade metoden och för att returnera data från den anropade metoden till anropsmetoden. |
Funktionalitet | |
När du använder nyckelordet ut kan data skickas från anropsmetoden till den anropade metoden. Men den informationen kasseras. Det används för att skicka resultatet till anropsmetoden från den anropade metoden. | När du använder nyckelordet ref skickas data från anropsmetoden till den anropade metoden och de manipulerade data skickas tillbaka till anropsmetoden. |
Vidarebefordran av data | |
När du använder nyckelordet ut överförs data på ett sätt som kallas metod till anropsmetoden. | När du använder nyckelordet ref skickas data på två sätt, från anropsmetod till den anropade metoden och från anropsmetoden till anropsmetoden. |
Sammanfattning - ut vs ref i C #
När man åberopar en metod kan det vara nödvändigt att skicka värdena till metoden och få tillbaka resultaten från metoden. C # har olika parametrar för att uppnå det. Värdeparametrarna används för att överföra parametrar till metoden efter värde. Referensparametrarna används för att överföra parametrar till metoden genom referens. Utgångsparametrarna används för att skicka tillbaka resultatet från metoden. I C # används out-nyckelord för utmatningsparametrar och ref-nyckelord används för att referera till parametrar. Skillnaden mellan ut och ref i C # är att ut är ett nyckelord som används för att hänvisa en utmatningsparameter som används för att skicka resultat från den anropade metoden till anropsmetoden medan ref är ett nyckelord för att hänvisa en referensparameter som används för att skicka data från anropsmetod till den anropade metoden och att ta emot data från den anropade metoden till anropsmetoden.
Ladda ner PDF av out vs ref i C #
Du kan ladda ner PDF-versionen av den här artikeln och använda den för offlineändamål enligt citat. Ladda ner PDF-versionen här: Skillnaden mellan ut och ref i C #