top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

What is Ref and Out c# with Example?

+1 vote
54 views

I need some sample

I refer this link but need some more example?
http://tech.queryhome.com/67722/what-is-the-difference-between-ref-%26-out-parameters

posted Dec 16, 2014 by Sathaybama

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

0 votes

Ref Parameter

If you want to pass a variable as ref parameter you need to initialize it before you pass it as ref parameter to method. Ref keyword will pass parameter as a reference this means when the value of parameter is changed in called method it get reflected in calling method also.

Declaration of Ref Parameter

Generally we will use ref parameters like as shown below

 int i=3; // variable need to be initialized
 Refsample(ref i);

If you observe above code first we declared variable and initialized with value 3 before it pass a ref parameter to Refsample method

Example

 class Program
 {
 static void Main()
 {
 int i; // variable need to be initialized
 i = 3;
 Refsample(ref i);
 Console.WriteLine(i);
 }
 public static void Refsample(ref int val1)
 {
  val1 += 10;
 }
 }

When we run above code we will get like as shown below

Output

*********Output************
13
*********Output************

As we discussed if ref parameter value changed in called method that parameter value reflected in calling method also

Out Parameter

If you want to pass a variable as out parameter you don’t need to initialize it before you pass it as out parameter to method. Out keyword also will pass parameter as a reference but here out parameter must be initialized in called method before it return value to calling method.

Declaration of Out Parameter

Generally we will use out parameters like as shown below

 int i,j; // No need to initialize variable
 Outsample(out i, out j);

If you observe above code first we declared variable and we it pass a out parameter to Outsample method without initialize the values to variables

Example

 class Program
 {
 static void Main()
 {
  int i,j; // No need to initialize variable
  Outsample(out i, out j);
 Console.WriteLine(i);
 Console.WriteLine(j);
 }
 public static int Outsample(out int val1, out int val2)
 {
 val1 = 5;
 val2 = 10;
 return 0;
 }
}

If we observe code we implemented as per our discussion like out parameter values must be initialized in called method before it return values to calling method

When we run above code we will get like as shown below

Output

*********Output************
5
10

*********Output************

answer Dec 23, 2014 by Shivaranjini
Similar Questions
+3 votes

By-default all the methods & variables in class are private.

In C#.net Main() method is private then how compiler access this Main() Method out side the class because compiler is not part of our program then how compiler access this Main() method?

Here we loose our data abstraction property ? Can anyone put some light on it?

...