//Method for returning multiple values using Structures private static DividedInfo DividedResultUsingStructure(int numberOne, int numberTwo) { DividedInfo dInfo = new DividedInfo(); if (numberOne >= numberTwo) { dInfo.Remainder = numberOne % numberTwo; dInfo.Quotient = numberOne / numberTwo; } else { dInfo.Remainder = numberTwo % numberOne; dInfo.Quotient = numberTwo / numberOne; } return(dInfo); }
//Maind method static void Main(string[] args) { //Calling method & get result by usign OUT keyword; int remainderUsingOut = 0; int quotientUsingOut = DividedResultUsingOutKeyword(7, 2, out remainderUsingOut); Console.WriteLine("1. Using out keyword:\n--------------------\nThe quotient value is: {0} \nThe remainder value is: {1}", quotientUsingOut, remainderUsingOut + "\n--------------------"); //Calling method & get result by usign REF keyword; int quotient = 0, remainder = 0; DividedResultUsingRefKeyword(7, 2, ref quotient, ref remainder); Console.WriteLine("2. Using ref keyword:\n--------------------\nThe quotient value is: {0} \nThe remainder value is: {1}", quotient, remainder + "\n-------------------"); //Calling method & get result by usign Structure; DividedInfo structDInfo = DividedResultUsingStructure(7, 2); Console.WriteLine("3. Using structure:\n-------------------\nThe quotient value is: {0} \nThe remainder value is: {1}", structDInfo.Quotient, structDInfo.Remainder + "\n---------------"); //Calling method & get result by usign Class; ClsDividedInfo dInfo = DividedResultUsingClass(7, 2); Console.WriteLine("4. Using class:\n---------------\nThe quotient value is: {0} \nThe remainder value is: {1}", dInfo.Quotient, dInfo.Remainder + "\n-------------------------------------"); //Calling method & get result by passing a object of a Class as an argument; ClsDividedInfo clsDivideInfo = new ClsDividedInfo(); DividedResultByPassingObject(7, 2, clsDivideInfo); Console.WriteLine("5. By passing a object as an argument:\n-------------------------------------\nThe quotient value is: {0} \nThe remainder value is: {1}", clsDivideInfo.Quotient, clsDivideInfo.Remainder + "\n-----------------------"); //Calling method & get result using KeyValue Pair; var dividedResult = DividedResultUsingKeyValuePair(7, 2); Console.WriteLine("6. Using KeyValue Pair:\n-----------------------\nThe quotient value is: {0} \nThe remainder value is: {1}", dividedResult.Key, dividedResult.Value + "\n---------------"); //Calling method & get result using Tuple; var dividedInfo = DividedResultUsingTuple(7, 2); Console.WriteLine("7. Using Tuple:\n---------------\nThe quotient value is: {0} \nThe remainder value is: {1}", dividedInfo.Item1, dividedInfo.Item2); Console.ReadKey(); }