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

Ключова разлика - вън срещу ref в C #
 

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

СЪДЪРЖАНИЕ

1. Преглед и ключова разлика
2. Какво има в C #
3. Какво е ref в C #
4. Прилики между вън и ref в C #
5. Паралелно сравнение - навън срещу реф в C # в таблична форма
6. Резюме

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

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

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

// операции за изпълнение

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

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

application names application

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

публичен невалиден дисплей (out int a, out int b)

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

a = стойност;

b = стойност;

a = a * a;

b = b * b;

public static 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 във функцията. Следователно тези стойности се връщат. Когато отпечатате value1 и value2, тя няма да даде 10 и 20. Вместо това, тя ще отпечата 25 и 25. Използвайки ключовата дума, няколко стойности могат да бъдат върнати от метода.

Какво е реф в C #?

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

application names application

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

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

int temp;

температура = х;

X = Y;

y = темп;

public static void main (String [] args)

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

int p = 2;

int q = 3;

cal.swap (р, р);

Console.WriteLine (р);

Console.WriteLine (р);

Console.ReadLine ();

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

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

application names application

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

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

int temp;

temp = x;

x = y;

y = темп;

public static void main (String [] args)

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

int p = 2;

int q = 3;

cal.swap (ref p, ref q);

Console.WriteLine (р);

Console.WriteLine (р);

Console.ReadLine ();

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

Какво е сходството между out и ref в C #?

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

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

извън vs в C #

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

Обобщение - изх срещу ref в C # 

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

Изтеглете PDF от out срещу ref в C #

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

справка:

1.tutorialspoint.com. „Методи на C #.“ Точката. Налични тук 
2.dnfvideo. C # Out параметри Vs REF параметри, .NET Интервю Подготвителни видеоклипове, 28 септември 2015 г. Налични тук  

С любезност на изображенията:

1.'C остро 'Мотмолевна - Собствена работа, (Public Domain) чрез Commons Wikimedia