C#中不存在指针(或者说不提倡使用指针),但是提供了引用,因此当调用函数想返回多个参数时可以使用引用类型作为函数的参数。
通过返回值赋给引用参数来实现多个返回值。例如要获取Color中的RGB分量,需要调用:
R = Color.GetRed();
G = Color.GetGreen();
B = Color.GetBlue();
写成函数的话可以这样实现:
private int GetRGB(ref int red, ref int green, ref int blue)
{
red = Color.GetRed();
green = Color.GetGreen();
blue = Color.GetBlue();
}
不过需要注意的是,在C#中使用引用类型的参数必须先经过初始化才能传递到函数中去。
如果不想初始化就是用引用类型,可以使用out关键字,如下所示:
private int GetRGB(out int red,out int green, out int blue)
{
red = Color.GetRed();
green = Color.GetGreen();
blue = Color.GetBlue();
}