November 2008
Beginner
696 pages
17h 43m
English
Methods can return only a single value, but this isn’t always convenient. Suppose you have a class called Doubler, which contains a method we’ll call DoubleInt( ) that takes two integers and doubles them. Simple enough, right?
The problem is that although DoubleInt( ) can accept two integers, and can process them both, it can return only one of them. Example 8-3 shows a way that you might try to write DoubleInt( ).
Example 8-3. This is our first attempt at retrieving multiple values
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Example_8_3_ _ _ _Returning_multiple_values
{
class Doubler
{
public void DoubleInt(int firstNum, int secondNum)
{
firstNum = firstNum * 2;
secondNum = secondNum * 2;
}
}
class Tester
{
public void Run( )
{
int first = 5;
int second = 10;
Console.WriteLine("Before doubling:");
Console.WriteLine("First number: {0}, Second number: {1}",
first, second);
Doubler d = new Doubler( );
d.DoubleInt(first, second);
Console.WriteLine("After doubling:");
Console.WriteLine("First number: {0}, Second number: {1}",
first, second);
}
static void Main(string[] args)
{
Tester t = new Tester( );
t.Run( );
}
}
}The output will look something like this:
Before doubling: First number: 5, Second number: 10 After doubling: First number: 5, Second number: 10
Obviously, that’s not the desired result. The problem is with the parameters. You pass in two integer parameters to DoubleInt( ), and you modify those two ...
Read now
Unlock full access