C# 数组翻转两种方式
public static class ArrayReserve
{
/// <summary>
/// 使用 Array.Reverse(Arrar) 反转全部
/// </summary>
/// <param name="arr"></param>
public static void ReverseDemo1(int[] arr)
{
Console.WriteLine("使用 Array.Reverse(Arrar) 反转全部");
Array.Reverse(arr);
}
/// <summary>
/// 使用 Array.Reverse(Array arr,int begin,int end),反转指定部分
/// </summary>
/// <param name="arr"></param>
/// <param name="begin"></param>
/// <param name="end"></param>
public static void ReverseDemo2(int[] arr, int begin, int end)
{
Console.WriteLine("使用 Array.Reverse(Array arr,int begin,int end),反转指定部分");
Array.Reverse(arr, begin, end);
}
/// <summary>
/// 使用 Reverse() 方法反转全部,此方式不会影响原变量,使用此方法会对原变量进行深度拷贝,然后对拷贝的数据进行翻转
/// </summary>
/// <param name="arr"></param>
public static void ReverseDemo3(int[] arr)
{
Console.WriteLine("使用 Reverse() 方法反转全部,此方式不会影响原变量,使用此方法会对原变量进行深度拷贝,然后对拷贝的数据进行翻转");
arr.Reverse();
}
}