Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про C#: ref, reference, out, parameter

В чем разница между ключевыми словами ref и out?

Этот вопрос проверяет различие в использовании двух важных ключевых слов для работы с параметрами в методах.

Короткий ответ

ref и out оба используются для передачи параметров по ссылке, но ref требует, чтобы параметр был инициализирован перед передачей, а out используется для передачи параметров, которые будут инициализированы в методе.

Длинный ответ

В C# оба ключевых слова — ref и out — используются для передачи параметров по ссылке, но между ними есть важные различия:

ref:

  • Требует, чтобы параметр был инициализирован до передачи в метод.

  • Используется, когда необходимо, чтобы метод мог изменить значение параметра.

out:

  • Не требует инициализации параметра до передачи в метод.

  • Метод должен инициализировать параметры, которые передаются через out.

Пример использования ref и out:

using System;

class Program
{
    	static void ModifyRef(ref int num)
    	{
        	num += 10;
    	}

    	static void ModifyOut(out int num)
    	{
        	num = 20;
   	}

    	static void Main()
    	{
        	int a = 5;
        	ModifyRef(ref a);
        	Console.WriteLine(a);  // Вывод: 15

        	int b;
        	ModifyOut(out b);
        	Console.WriteLine(b);  // Вывод: 20
    	}
}

В этом примере показано, как работают ref и out, каждый из которых имеет свои особенности в использовании.

Уровень

  • Рейтинг:

    2

  • Сложность:

    3

Навыки

  • C#

    C#

Ключевые слова

#ref

#reference

#out

#parameter

Подпишись на C# Developer в телеграм