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

Да, можно!
По умолчанию значимые типы (структуры, 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
More from @easy_c_sharp
  1. Oct 10, 2026🤔 Что из себя представляет DI в ASP.NET Core? Dependency Injection (внедрение зависимосте…
  2. Oct 10, 2026🤔 Если в двух переменных хранится одинаковое значение, то будут ли они равны? Сравнение з…
  3. Oct 9, 2026Post #2474
  4. Oct 9, 2026🤔 Что такое interlocked? Interlocked — это механизм для безопасного изменения чисел между…
  5. Oct 9, 2026🤔 Что такое сборщик мусора? Сборщик мусора (Garbage Collector, GC) — это форма автоматиче…
  6. Oct 8, 2026🤔 Какая разница между методом clone и CopyTo массивов? - clone() — создает новый массив с…
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 →