Разлика между Out и Ref в C

Съдържание:

Разлика между Out и Ref в C
Разлика между Out и Ref в C

Видео: Разлика между Out и Ref в C

Видео: Разлика между Out и Ref в C
Видео: КЛЮЧЕВОЕ СЛОВО OUT C# | РАЗНИЦА между REF и OUT C# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 44 2024, Може
Anonim

Ключова разлика - аут срещу реф в C #

C # е модерен език за програмиране, разработен от Microsoft. Използва се за разработване на различни приложения за настолни компютри, уеб и мобилни устройства. Функции или методи е понятие в програмирането. Тази група изрази, които се използват за изпълнение на определена задача, е известна като функция или метод. В програмите на C # изпълнението започва от main (). Това е пример за метод. При извикване на метод данните се предават на метода или се получават от метода. Методът, който извиква новия метод, е известен като извикване на метода. Новият метод е известен като наречения метод. За управление на преминаващите стойности и връщане на резултата, C # използва параметри. Те са оценени параметри, изходни параметри и референтни параметри. Параметрите на стойността се използват за предаване на параметри в метода по стойност. Референтните параметри се използват за предаване на параметри към метода чрез референция. Изходните параметри се използват за предаване на резултата обратно от метода. В C # ключовата дума out се използва за изходни параметри, а ключовата дума ref се използва за препратка към параметри. Ключовата разлика между out и ref в C # е, че out е ключова дума, използвана за препращане на изходен параметър, който се използва за предаване на резултати от извикания метод към извикващ метод, докато ref е ключова дума за препращане на референтен параметър, който се използва за предаване данни от извикващия метод към извикания метод и за получаване на данните от извикания метод към извикващия метод.out е ключова дума, използвана за препращане на изходен параметър, който се използва за предаване на резултати от извикания метод към извикващ метод, докато ref е ключова дума за препращане на референтен параметър, който се използва за предаване на данни от извикващия метод към извикания метод и за получаване на данните от извикания метод към извикващия метод.out е ключова дума, използвана за препращане на изходен параметър, който се използва за предаване на резултати от извикания метод към извикващ метод, докато ref е ключова дума за препращане на референтен параметър, който се използва за предаване на данни от извикващия метод към извикания метод и за получаване на данните от извикания метод към извикващия метод.

СЪДЪРЖАНИЕ

1. Общ преглед и ключова разлика

2. Какво има в C #

3. Какво е ref в C #

4. Прилики между out и ref в C #

5. Равно до сравнение сравнение - out спрямо ref в C # в таблична форма

6. Резюме

Какво има в C #?

Синтаксисът на функция или метод е както следва. Методът има редица елементи като име на метод, списък с параметри, тип на връщане и спецификатор за достъп.

(списък с параметри)

{// изявления за изпълнение

}

Всеки метод има уникален метод за осъществяване на извикване на функцията. Изпълнимите оператори са вътре в фигурни скоби. Типът връщане обяснява дали функцията връща стойност или не. Когато няма тип връщане, той се нарича void. Спецификаторът на достъп се използва за определяне на достъпността на метода в приложението. Параметрите се използват за получаване или предаване на данни към метода. Може да има и методи без параметри. Параметрите могат да бъдат оценени параметри, изходни параметри или референтни параметри.

Разлика между out и ref в C #
Разлика между out и ref в C #

Изходните параметри се използват за връщане на резултатите обратно към извикващия метод. За това параметърът трябва да бъде деклариран с ключовата дума out. Изходният параметър не създава ново място за съхранение. Обикновено методът връща една стойност. Но в C # е възможно да се върнат две стойности от функция, като се използват изходни параметри. Вижте програмата по-долу.

приложение на пространство от имена1 {

публичен клас Изчисление {

публично показване на празнота (излизане int a, излизане int b) {

стойност int = 5;

a = стойност;

b = стойност;

a = a * a;

b = b * b;

}

публична статична void main (String args) {

int стойност1 = 10, стойност2 = 20;

Изчисление cal = ново изчисление ();

cal.display (out value1, out value2);

Console. ReadLine ();

}

}

}

Функцията за показване се извиква от основния метод. Стойността1 и стойност две имат 10 и 20, но те не са взети в метода. Стойността на a е 25, а стойността на b също е 25 във функцията. Следователно тези стойности се връщат. Когато отпечатвате стойност1 и стойност2, няма да даде 10 и 20. Вместо това ще отпечата 25 и 25. Използвайки ключовата дума out, много стойности могат да бъдат върнати от метода.

Какво е ref в C #?

При предаване на параметрите по стойност се създава ново място за съхранение за всеки параметър. Действителните параметри, изпратени от основната програма, не се променят. Вместо това тези стойности се копират на отделно място. Тези нови променливи копия се наричат формални параметри. Вижте кода по-долу.

приложение на пространство от имена1 {

публичен клас Изчисление {

суап за публична невалидност (int x, int y) {

int temp;

temp = x;

x = y;

y = темп;

}

публична статична void main (String args) {

Изчисление cal = ново изчисление ();

int p = 2;

int q = 3;

cal.swap (p, q);

Console. WriteLine (p);

Console. WriteLine (q);

Console. ReadLine ();

}

}

}

Съгласно горната програма, класът за изчисление има метод swap (). В основната програма се създава обект от типа Изчисление. Има две стойности като p и q. Променливата p има стойност 2, а променливата q има стойност 3. Тези две стойности се предават на метода за суап. В метода на суап, стойността 2 се копира в променлива x и стойност 3 се копира в променлива y. Използвайки променливата temp, стойностите се разменят. Обратно в основната програма, при отпечатване на p и q, стойностите не се разменят. Стойността р все още е 2, а стойността q е 3. Дори в метода на суап стойностите се разменят, но не се отразява в основната програма.

За разлика от предаването на стойности, както е посочено по-горе, е възможно да се предават параметри чрез препратка. Референтната променлива е препратка към местоположението в паметта. Няма създадено ново място в паметта. Промените в метода са отразени в основната програма. В C # референтните параметри се препращат с помощта на ключова дума ref. Вижте програмата по-долу.

приложение на пространство от имена1 {

публичен клас Изчисление {

суап за публична невалидност (ref int x, ref int y) {

int temp;

temp = x;

x = y;

y = темп;

}

публична статична void main (String args) {

Изчисление cal = ново изчисление ();

int p = 2;

int q = 3;

cal.swap (ref p, ref q);

Console. WriteLine (p);

Console. WriteLine (q);

Console. ReadLine ();

}

}

}

Според горната програма класът Изчисление има метода на суап. В основната програма се създава обект от типа Изчисление. Това са две променливи като p и q. Променливата p има стойността 2, а променливата q има стойността 3. Вместо да предава стойности, препратката към местата в паметта на p и q се предава на метода. Тези референтни променливи се препращат с помощта на ref. В метода на суап, вместо да се справят стойностите на ново място, промените се правят в действителните параметри. Когато отпечатвате стойностите p и q на основната програма, тя ще даде разменените стойности. Сега p стойността е 3, а q стойността е 2.

Каква е приликата между out и ref в C #?

И двете са ключови думи, използвани за препращане на параметрите на метод

Каква е разликата между out и ref в C #?

Различна статия Средна преди таблица

out vs ref в C #

Out е ключова дума в C #, която се използва за препращане към изходен параметър. Използва се за предаване на резултатите от извикан метод към извикване на метода. Ref е ключова дума в C #, която се използва за препращане към референтен параметър. Използва се за предаване на данни от извикващия метод към извикания метод и за връщане на данни от извикания метод към извикващия метод.
Функционалност
Когато използвате ключовата дума out, данните могат да бъдат предадени от извикващия метод към извикания метод. Но тези данни се изхвърлят. Използва се за предаване на резултата на извикващия метод от извикания метод. Когато се използва ключовата дума ref, данните се предават от извикващия метод към извикания метод и манипулираните данни се връщат обратно към извикващия метод.
Предаване на данни
Когато се използва ключовата дума out, данните се предават по един начин, който е извикан метод към извикващия метод. Когато се използва ключовата дума ref, данните се предават по два начина, които са, от извикващ метод към извикания метод и от извикания метод към извикващия метод.

Резюме - out vs ref в C #

При извикване на метод може да е необходимо да се предадат стойностите в метода и да се върнат резултатите от метода. C # има различни параметри, за да постигне това. Параметрите на стойността се използват за предаване на параметри в метода по стойност. Референтните параметри се използват за предаване на параметри към метода чрез референция. Изходните параметри се използват за предаване на резултата обратно от метода. В C # ключовата дума out се използва за изходни параметри, а ключовата дума ref се използва за препратка към параметри. Разликата между out и ref в C # е, че out е ключова дума, използвана за препращане на изходен параметър, който се използва за предаване на резултати от извикания метод към извикващ метод, докато ref е ключова дума за препращане на референтен параметър, който се използва за предаване на данни от извикващ метод към извикания метод и за получаване на данните от извикания метод към извикващия метод.

Изтеглете PDF на out vs ref в C #

Можете да изтеглите PDF версията на тази статия и да я използвате за офлайн цели според бележката към цитата. Моля, изтеглете PDF версията тук: Разлика между Out и Ref в C #

Препоръчано: