Ref, Out & In - C#

📰 Dev.to · Mirza Leka

Learn how to use ref, out, and in keywords in C# to pass arguments by reference

intermediate Published 20 Jun 2026
Action Steps
  1. Use the ref keyword to pass variables by reference, allowing the method to modify the original variable
  2. Apply the out keyword to pass variables by reference, requiring the method to assign a value to the variable before returning
  3. Utilize the in keyword to pass variables by reference, allowing the method to read but not modify the original variable
  4. Create a method that takes a ref parameter and modifies its value
  5. Invoke the method and verify that the original variable has been modified
Who Needs to Know This

Software engineers and developers working with C# can benefit from understanding how to use ref, out, and in keywords to pass arguments by reference, improving code efficiency and effectiveness.

Key Insight

💡 The ref, out, and in keywords in C# allow for passing arguments by reference, enabling methods to modify original variables or require assignment of values.

Share This
💡 Use ref, out, and in keywords in C# to pass args by reference!

Key Takeaways

Learn how to use ref, out, and in keywords in C# to pass arguments by reference

Full Article

Title: Ref, Out & In - C#

URL Source: https://dev.to/mirzaleka/ref-out-in-c-cin

Published Time: 2026-06-20T11:08:18Z

Markdown Content:
# Ref, Out & In - C# - DEV Community
[Skip to content](https://dev.to/mirzaleka/ref-out-in-c-cin#main-content)

[![Image 1: DEV Community](https://media2.dev.to/dynamic/image/quality=100/https://dev-to-uploads.s3.amazonaws.com/uploads/logos/resized_logo_UQww2soKuUsjaOGNB38o.png)](https://dev.to/)

[Powered by Algolia](https://www.algolia.com/developers/?utm_source=devto&utm_medium=referral)

[Log in](https://dev.to/enter?signup_subforem=1)[Create account](https://dev.to/enter?signup_subforem=1&state=new-user)

## DEV Community

![Image 2](https://assets.dev.to/assets/heart-plus-active-9ea3b22f2bc311281db911d416166c5f430636e76b15cd5df6b3b841d830eefa.svg)0 Add reaction

![Image 3](https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg)0 Like ![Image 4](https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg)0 Unicorn ![Image 5](https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg)0 Exploding Head ![Image 6](https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg)0 Raised Hands ![Image 7](https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg)0 Fire

0 Jump to Comments 0 Save Boost

Copy link

Copied to Clipboard

[Share to X](https://twitter.com/intent/tweet?text=%22Ref%2C%20Out%20%26%20In%20-%20C%23%22%20by%20%40mirzaleka%20%23DEVCommunity%20https%3A%2F%2Fdev.to%2Fmirzaleka%2Fref-out-in-c-cin)[Share to LinkedIn](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fdev.to%2Fmirzaleka%2Fref-out-in-c-cin&title=Ref%2C%20Out%20%26%20In%20-%20C%23&summary=In%20C%23%2C%20ref%2C%20out%2C%20and%20in%20are%20keywords%20used%20to%20pass%20arguments%20to%20methods%20by%20reference%20rather%20than%20by...&source=DEV%20Community)[Share to Facebook](https://www.facebook.com/sharer.php?u=https%3A%2F%2Fdev.to%2Fmirzaleka%2Fref-out-in-c-cin)[Share to Mastodon](https://s2f.kytta.dev/?text=https%3A%2F%2Fdev.to%2Fmirzaleka%2Fref-out-in-c-cin)

[Share Post via...](https://dev.to/mirzaleka/ref-out-in-c-cin#)[Report Abuse](https://dev.to/report-abuse)

[![Image 8: Cover image for Ref, Out & In - C#](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8edab32w6d0pvh2jgz6n.png)](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8edab32w6d0pvh2jgz6n.png)

[![Image 9: Mirza Leka](https://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F59667%2F2f53abb5-31ae-42a9-b676-dfba3e69bdbc.jpg)](https://dev.to/mirzaleka)

[Mirza Leka](https://dev.to/mirzaleka)
Posted on Jun 20

# Ref, Out & In - C#

[#csharp](https://dev.to/t/csharp)[#dotnet](https://dev.to/t/dotnet)[#programming](https://dev.to/t/programming)

In C#, `ref`, `out`, and `in` are keywords used to pass arguments to methods by reference rather than by value.

## [](https://dev.to/mirzaleka/ref-out-in-c-cin#passing-variables-by-reference) Passing variables by reference

Consider this. We want to modify a local variable in the `SetFullName()` method:

```
private static void SetFullName(string nameToSet)
{
nameToSet = "Mirza Leka";
}
```

But the `SetFullName()` method does not return the modified name. Thus, when we invoke the method from the outside, the calling method still has the old name.

```
internal class Program
{
static void Main(string[] args)
{
var na
Read full article → ← Back to Reads

Related Videos

Indian Express Editorial Analysis by Chandan Sharma - 1 JULY 2026 | UPSC Current Affairs 2026
Indian Express Editorial Analysis by Chandan Sharma - 1 JULY 2026 | UPSC Current Affairs 2026
StudyIQ IAS
This Cop Was Held Accountable For His Brutality! #police #lawyer
This Cop Was Held Accountable For His Brutality! #police #lawyer
Hampton Law
REET Level 1 English Class | Vocabulary ( Synonyms, | REET English Practice Set #08 By Vipin Sir
REET Level 1 English Class | Vocabulary ( Synonyms, | REET English Practice Set #08 By Vipin Sir
Teaching by Rojgar with Ankit
Sweet World Cup Treats 🍪⚽ #creative #tasty #treats
Sweet World Cup Treats 🍪⚽ #creative #tasty #treats
Beamish Bites
Stanford Leadership Institute | Forum 2026
Stanford Leadership Institute | Forum 2026
Stanford Graduate School of Business
This Open-Source Tool Gives AI Agents Real Memory — Running on Ollama
This Open-Source Tool Gives AI Agents Real Memory — Running on Ollama
Prompt Engineer