December 2007
Intermediate to advanced
896 pages
19h 57m
English
In many cases, a single return value for a method is not enough. You need a way to return more than one item from a method.
Use the out keyword on parameters that will act as return parameters. The following method accepts an inputShape parameter and calculates height, width, and depth from that value:
public void ReturnDimensions(int inputShape,
out int height,
out int width,
out int depth)
{
height = 0;
width = 0;
depth = 0;
// Calculate height, width, and depth from the inputShape value.
}This method would be called in the following manner:
// Declare output parameters. int height; int width; int depth; // Call method and return the height, width, and depth. Obj.ReturnDimensions(1, out height, out width, out depth);
Another method is to return a class or structure containing all the return values. The previous method has been modified to return a structure instead of using out arguments:
public Dimensions ReturnDimensions(int inputShape)
{
// The default ctor automatically defaults this structure's members to 0.
Dimensions objDim = new Dimensions( );
// Calculate objDim.Height, objDim.Width, objDim.Depth from the inputShape
value.
return objDim;
}where Dimensions is defined as follows:
public struct Dimensions
{
public int Height;
public int Width;
public int Depth;
}This method would now be called in this manner:
// Call method and return the height, width, and depth. Dimensions objDim = obj.ReturnDimensions(1);
Read now
Unlock full access