TGViewer
C# | Вопросы собесов C# | Вопросы собесов @easy_c_sharp · 5.01K subscribers
Post #1747 1.25K
🤔 Можно ли передать значимый тип данных по ссылке?

Да, можно!
По умолчанию значимые типы (структуры, int, double) передаются по значению.
Но их можно передать по ссылке с помощью ref или out.

🚩Передача по значению (обычное поведение)

Копия передаётся в метод, а оригинал не меняется.
void ChangeValue(int number)
{
number = 10; // Изменится только копия
}

int x = 5;
ChangeValue(x);
Console.WriteLine(x); // 5 (значение не изменилось)


🚩Передача значимого типа по ссылке (`ref`)

Позволяет менять оригинальную переменную.
void ChangeValue(ref int number)
{
number = 10; // Меняем оригинальное значение
}

int x = 5;
ChangeValue(ref x);
Console.WriteLine(x); // 10 (значение изменилось)


🚩Использование `out` (без начального значения)

out тоже передаёт по ссылке, но требует обязательного присвоения внутри метода.
void InitializeValue(out int number)
{
number = 100; // Обязательно присваиваем значение
}

int x;
InitializeValue(out x);
Console.WriteLine(x); // 100


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 1
  • 🤔 1
More from @easy_c_sharp
  1. Oct 16, 2026🤔 Как отменить Task? Используется CancellationToken: 1. Создаётся CancellationTokenSource…
  2. Oct 16, 2026🤔 Что такое .NET стандарт? .NET Standard — это спецификация API, которая определяет набор…
  3. Oct 15, 2026🤔 Что такое паттерн DDD? Это подход к разработке, фокусирующийся на модели домена и бизне…
  4. Oct 15, 2026🤔 Что такое Generic-и? Термин "Generic" (общий тип) относится к функциональности, позволя…
  5. Oct 14, 2026🤔 Как можно не отслеживать сущность? В Entity Framework можно не отслеживать сущность, чт…
  6. Oct 14, 2026🤔 Какие есть модификаторы доступа? Есть модификаторы доступа, которые определяют, кто мож…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →