神刀安全网

Return Multiple values from a function in C#

In this article, we will discusss, how to return multiple values from a function in C#

In C#, There are 4 ways to return multiple values from a C# function.

  • Using KeyValue pair
  • Using ref/out parameters
  • Using Struct or Class
  • Using Tuple

Return Multiple values from a function in C#

1. Using KeyValue pair

class Program     {         static void Main(string[] args)         {             int int1 = 15;             int int2 = 25;             var result = Add_Multiply(int1, int2);             Console.WriteLine(result.Key);             Console.WriteLine(result.Value);         }           private static KeyValuePair<int, int> Add_Multiply(int int1, int int2)         {             var KeyValuePair = new KeyValuePair<int, int>(int1 + int2, int1 * int2);             return KeyValuePair;         }     } 

Output:

40

375

2.a. Using Ref Parameter:

 class Program     {         static void Main(string[] args)         {             int int1 = 15;             int int2 = 25;             int add = 0;             int multiply = 0;             Add_Multiply(int1, int2, refadd, refmultiply);             Console.WriteLine(add);             Console.WriteLine(multiply);         }           private static void Add_Multiply(int int1, int int2, refint add, refint multiply)         {             add = int1 + int2;             multiply = int1 * int2;         }       } 

Output:

40

375

2.b. Using Out Parameter:

class Program     {         static void Main(string[] args)         {             int int1 = 15;             int int2 = 25;             int add = 0;             int multiply = 0;             Add_Multiply(int1, int2, outadd, outmultiply);             Console.WriteLine(add);             Console.WriteLine(multiply);         }           private static void Add_Multiply(int int1, int int2, outint add, outint multiply)         {             add = int1 + int2;             multiply = int1 * int2;         }     } 

Output:

40

375

3.a. Using Struct:

 class Program     {         struct Result         {             public int add;             public int multiply;         }         static void Main(string[] args)         {             int int1 = 53;             int int2 = 17;             var result = Add_Multiply(int1, int2);             Console.WriteLine(result.add);             Console.WriteLine(result.multiply);         }           private static ResultAdd_Multiply(int int1, int int2)         {             var result = new Result             {                 add = int1 + int2,                 multiply = int1 * int2             };             return result;         }     } 

Output:

70

901

3.b. Using Class:

 struct Result         {             public int add;             public int multiply;         }         static void Main(string[] args)         {             int int1 = 13;             int int2 = 27;             var result = Add_Multiply(int1, int2);             Console.WriteLine(result.add);             Console.WriteLine(result.multiply);         }           private static ResultAdd_Multiply(int int1, int int2)         {             var result = new Result             {                 add = int1 + int2,                 multiply = int1 * int2             };             return result;         }     } 

Output:

40

351

4. Using Tuples

You can understand Tupleshere.

Let’s look at below example to return multiple values from a C# function using Tuple.

class Program     {         static void Main(string[] args)         {             int int1 = 25;             int int2 = 28;             var result = Add_Multiply(int1, int2);             Console.WriteLine(result.Item1);             Console.WriteLine(result.Item2);         }           private static Tuple<int, int> Add_Multiply(int int1, int int2)         {             var tuple = new Tuple<int, int>(int1 + int2, int1 * int2);             return tuple;         }       } 

Output:

53

700

Thanks for visiting !!

© 2016,admin. All rights reserved.

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » Return Multiple values from a function in C#

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址