C# Tutorials and offshore development in India
    Tutorials   Resources   Forum   Reviews   Communities   Interview   Jobs   Projects   Training   Your Ad Here    
Silverlight Games | Mentor | Code Converter | Articles | Code Factory | Computer Jokes | Members | Peer Appraisal | IT Companies | Bookmarks | Polls | Revenue Sharing | Lobby | Gift Shop |


Prizes & Awards
My Profile



Active Members
TodayLast 7 Days more...






Resources » Articles » .NET Framework »

Passing Parameters


Posted Date: 17 Feb 2004    Resource Type: Articles    Category: .NET Framework
Author: SasitharMember Level: Silver    
Rating: 1 out of 5Points: 7



There are four different ways of passing parameters to a method in C#.The four different types of parameters are

Value
Out
Ref
Params

1.Value parameters

This is the default parameter type in C#.If the parameter does not have any modifier it is "value" parameter by default.When we use "value" parameters the actual value is passed to the function,which means changes made to the parameter is local to the function and is not passed back to the calling part.

using System;class ParameterTest{

static void Mymethod(int Param1)
{
Param1=100;

}

static void Main()

{

int Myvalue=5;
MyMethod(Myvalue);
Console.WriteLine(Myvalue);
}

}

Output of the above program would be 5.Eventhough the value of the parameter Param1 is changed within MyMethod it is not passed back to the calling part since value parameters are input only.

2.Out parameters

"out" parameters are output only parameters meaning they can only passback a value from a function.We create a "out" parameter by preceding the parameter data type with the out modifier. When ever a "out" parameter is passed only an unassigned reference is passed to the function.

using System;class ParameterTest

{

static void Mymethod(out int Param1)

{ Param1=100;
}

static void Main()

{ int Myvalue=5;
MyMethod(Myvalue);
Console.WriteLine(out Myvalue);

}

}

Output of the above program would be 100 since the value of the "out" parameter is passed back to the calling part.
Note

The modifier "out" should precede the parameter being passed even in the calling part.
"out" parameters cannot be used within the function before assigning a value to it.
A value should be assigned to the "out" parameter before the method returns.

3.Ref parameters

"ref" parameters are input/output parameters meaning they can be used for passing a value to a function as well as to get back a value from a function.We create a "ref" parameter by preceding the parameter data type with the ref modifier. When ever a "ref" parameter is passed a reference is passed to the function.


using System;

class ParameterTest

{

static void Mymethod(ref int Param1)

{

Param1=Param1 + 100;

}

static void Main()

{

int Myvalue=5;
MyMethod(Myvalue);
Console.WriteLine(ref Myvalue);

}

}


Output of the above program would be 105 since the "ref" parameter acts as both input and output.

Note

The modifier "ref" should precede the parameter being passed even in the calling part.
"ref" parameters should be assigned a value before using it to call a method.

4.Params parameters

"params" parameters is a very useful feature in C#. "params" parameter are used when a variable number of arguments need to be passed.The "params" should be a single dimensional or a jagged array.



using System;

class ParameterTest

{

static int Sum(params int[] Param1)

{

int val=0;
foreach(int P in Param1)

{

val=val+P;

}

return val;

}

static void Main()

{

Console.WriteLine(Sum(1,2,3));
Console.WriteLine(Sum(1,2,3,4,5));

}

}

Output of the above program would be 6 and 15.

Note

The value passed for a "params" parameter can be either comma separated value list or a single dimensional array.

"params" parameters are input only.




Responses


No responses found. Be the first to respond and make money from revenue sharing program.

Feedbacks      
Popular Tags   What are tags ?   Search Tags  
Sign In to add tags.
(No tags found.)

Post Feedback


This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
You must Sign In to post a response.
Next Resource: Features of C#
Previous Resource: How to create a Notepad application
Return to Discussion Resource Index
Post New Resource
Category: .NET Framework


Post resources and earn money!
 
Related Resources



dotNet Slackers

About Us    Contact Us    Privacy Policy    Terms Of Use