## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

# Returning Multiple Values

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 ...

## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

No credit card required