C# Out Parameter

C# provides out keyword to pass arguments as out-type. It is like reference-type, except that it does not require variable to initialize before passing. We must use out keyword to pass argument as out-type. It is useful when we want a function to return multiple values.

Example #1
snippet
using System;
namespace OutParameter
{
    class Program
    {
        // User defined function
        public void Show(out int val) // Out parameter
        {
            int square = 5;
            val = square;
            val *= val; // Manipulating value
        }
        // Main function, execution entry point of the program
        static void Main(string[] args)
        {
            int val = 50;
            Program program = new Program(); // Creating Object
            Console.WriteLine("Value before passing out variable " + val);
            program.Show(out val); // Passing out argument
            Console.WriteLine("Value after recieving the out variable " + val);
        }
    }
}
Output
Value before passing out variable 50 Value after receiving the out variable 25
Example #2

The following example demonstrates that how a function can return multiple values.

snippet
using System;
namespace OutParameter
{
    class Program
    {
        // User defined function
        public void Show(out int a, out int b) // Out parameter
        {
            int square = 5;
            a = square;
            b = square;
            // Manipulating value
            a *= a; 
            b *= b;
        }
        // Main function, execution entry point of the program
        static void Main(string[] args)
        {
            int val1 = 50, val2 = 100;
            Program program = new Program(); // Creating Object
            Console.WriteLine("Value before passing \n val1 = " + val1+" \n val2 = "+val2);
            program.Show(out val1, out val2); // Passing out argument
            Console.WriteLine("Value after passing \n val1 = " + val1 + " \n val2 = " + val2);
        }
    }
}
Output
Value before passing val1 = 50 val2 = 100 Value after passing val1 = 25 val2 = 25
Related Tutorial
Follow Us
https://www.facebook.com/Rookie-Nerd-638990322793530 https://twitter.com/RookieNerdTutor https://plus.google.com/b/117136517396468545840 #
Contents +