Разница между Out и Ref в C

Оглавление:

Разница между Out и Ref в C
Разница между Out и Ref в C

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

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

Ключевое отличие - out vs ref в 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 vs ref в C # в табличной форме

6. Резюме

Что отсутствует в C #?

Синтаксис функции или метода следующий. Метод имеет ряд элементов, таких как имя метода, список параметров, тип возвращаемого значения и спецификатор доступа.

(список параметров)

{// операторы для выполнения

}

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

Разница между out и ref в C #
Разница между out и ref в C #

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

namespace application1 {

public class Calculation {

public void display (out int a, out int b) {

int value = 5;

а = значение;

b = значение;

а = а * а;

б = б * б;

}

public static void main (String args) {

int значение1 = 10, значение2 = 20;

Calculation cal = new Calculation ();

cal.display (выходное значение1, выходное значение2);

Console. ReadLine ();

}

}

}

Функция отображения вызывается из основного метода. Значение 1 и значение два имеют 10 и 20, но они не учитываются в методе. Значение a равно 25, а значение b также равно 25 в функции. Следовательно, эти значения возвращаются. При печати value1 и value2 он не выдаст 10 и 20. Вместо этого он напечатает 25 и 25. Используя ключевое слово out, из метода можно вернуть несколько значений.

Что такое ref в C #?

При передаче параметров по значению для каждого параметра создается новое место хранения. Фактические параметры, которые были отправлены из основной программы, не меняются. Вместо этого эти значения копируются в отдельное место. Эти новые копии переменных называются формальными параметрами. См. Приведенный ниже код.

namespace application1 {

public class Calculation {

public void swap (int x, int y) {

int temp;

temp = x;

х = у;

y = темп;

}

public static void main (String args) {

Calculation cal = new Calculation ();

int p = 2;

int q = 3;

cal.swap (p, q);

Console. WriteLine (p);

Console. WriteLine (q);

Console. ReadLine ();

}

}

}

Согласно приведенной выше программе, класс Calculation имеет метод swap (). В основной программе создается объект типа Расчет. Есть два значения, например p и q. Переменная p имеет значение 2, а переменная q имеет значение 3. Эти два значения передаются методу обмена. В методе подкачки значение 2 копируется в переменную x, а значение 3 копируется в переменную y. Используя временную переменную, значения меняются местами. Вернувшись в основную программу, при печати p и q значения не меняются местами. Значение p по-прежнему равно 2, а значение q равно 3. Даже в методе обмена значения меняются местами, но не отражаются в основной программе.

В отличие от передачи значений, как указано выше, параметры можно передавать по ссылке. Ссылочная переменная - это ссылка на ячейку памяти. Новая ячейка памяти не создается. Изменения в методе отражены в основной программе. В C # ссылочные параметры указываются с помощью ключевого слова ref. Обратитесь к программе ниже.

namespace application1 {

public class Calculation {

public void swap (ref int x, ref int y) {

int temp;

temp = x;

х = у;

y = темп;

}

public static void main (String args) {

Calculation cal = new Calculation ();

int p = 2;

int q = 3;

cal.swap (ref p, ref q);

Console. WriteLine (p);

Console. WriteLine (q);

Console. ReadLine ();

}

}

}

Согласно приведенной выше программе, класс Calculation имеет метод подкачки. В основной программе создается объект типа Расчет. Это две переменные, такие как p и q. Переменная p имеет значение 2, а переменная q имеет значение 3. Вместо передачи значений методу передаются ссылки на ячейки памяти p и q. Эти ссылочные переменные указываются с использованием исх. В методе подкачки вместо копирования значений в новое место изменения вносятся в фактические параметры. При печати значений p и q основной программы она выдаст поменяемые местами значения. Теперь значение p равно 3, а значение q равно 2.

В чем сходство между out и ref в C #?

Оба являются ключевыми словами, используемыми для ссылки на параметры метода

В чем разница между out и ref в C #?

Различать статью в середине перед таблицей

out vs ref в C #

Выход - это ключевое слово в C #, которое используется для ссылки на выходной параметр. Он используется для передачи результатов от вызываемого метода к вызову метода. Ссылка - это ключевое слово в 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 #

Рекомендуем: