January 2004
Beginner to intermediate
864 pages
22h 18m
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, 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
{
int Height;
int Width;
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);
Marking a parameter in a method ...