What is the difference between dispose and finalize methods in c#?

Both ref and out parameters are used to pass arguments within a method. These ref and out parameters are useful whenever your method wants to return more than one value. Regarding ref parameter you need to initialize it before passing to the method and out parameter you don’t need to initialize before passing to function.

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.

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;

}

}

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

 

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.

 

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

 

http://pramadha.com/

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s