比较数组类型
表13-2总结了3种类型的数组的重要相似点和不同点。
数组与ref返回和ref局部变量
第6章详细描述了ref返回和ref局部变量。但是,它们的一个常见用途是把对一个数组元素
的引用传递回调用域。由于我们已经讲解了数组,所以现在来看一个简单的示例。
你应该还记得,利用ref返回功能,可以把一个引用作为返回值传到方法体外,而利用ref局部
变量,你可以在调用域内使用这个引用。例如,下面的代码定义了一个叫作PointerToHighestPositive
的方法。这个方法接受一个数组作为参数,并且返回对该数组元素的引用,而不是元素中的int
值。然后,在调用域,你可以通过ref局部变量给这个元素赋值。
class Program
{public static ref int PointerToHightestPositive(int [] numbers){int highest=0;int indexOfHighest=0;for(int i=0;i<numbers.Length;i++){if(numbers[i]>highest){indexOfHighest=i;highest =numbers[indexOfHighest];}}return ref numbers[indexOfHighest];}static void Main(){int[] scores={5,80};Console.WriteLine($"Before:{scores[0]},{scores[1]}");ref int locationOfHigher=ref PointerToHightestPositive(scores);locationOfHigher=0;Console.WriteLine($"After:{scores[0]},{scores[1]}");}
}