Ключевое отличие - 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. Выходной параметр не создает новое место хранения. Обычно метод возвращает одно значение. Но в 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 #