Dark Mode
Image

C# Properties

C# Inheritance

C# Polymorphism

C# Strings

C# Generics

C# Delegates

C# Reflection

Anonymous Function

C# Multithreading

C# Synchronization

C# Web Service

C# Misc

C# New Features

C# Programs

ADO.NET Tutorial

ASP.NET Tutorial

C# Out Parameter

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.

C# Out Parameter Example 1

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

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

C# Out Parameter Example 2

 

 

 

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

Comment / Reply From