首页 > 代码库 > 数组作为方法参数时的一些意外情况

数组作为方法参数时的一些意外情况

数组作为方法参数时的一些意外情况

今天在刷题时,使用数组作为方法的参数,出现了一些意外情况.

技术分享
 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5  6 namespace MyArray 7 { 8     class Program 9     {10         static void Main(string[] args)11         {12             int[] nums = { 1, 2, 4, 5, 3, 2, 5, 6, 3 };13             Console.WriteLine("Array numbers:");14             foreach (int num in nums)15                 Console.Write(num + "     ");16 17             Sort(nums);18             Console.WriteLine("\nAfter Sort:");19             foreach (int num in nums)20                 Console.Write(num + "     ");21 22             Reverse(nums);23             Console.WriteLine("\nAfter Reverse:");24             foreach (int num in nums)25                 Console.Write(num + "     ");26 27             Change(nums);28             Console.WriteLine("\nAfter Change:");29             foreach (int num in nums)30                 Console.Write(num + "     ");31 32             SortAndChange(nums);33             Console.WriteLine("\nAfter SortAndChange:");34             foreach (int num in nums)35                 Console.Write(num + "     ");36 37             DistinctAndChange(nums);38             Console.WriteLine("\nAfter DistinctAndChange:");39             foreach (int num in nums)40                 Console.Write(num + "     ");41 42             Console.Read();43         }44 45         static void Sort(int[] nums)46         {47             nums = (from l in nums orderby l select l).ToArray();48         }49 50         static void Reverse(int[] nums)51         {52             nums = nums.Reverse().ToArray();53         }54 55         static void Change(int[] nums)56         {57             for (int i = 0; i < nums.Length - 1; i++)58                 nums[i] = nums[i + 1];59         }60 61         static void SortAndChange(int[] nums)62         {63             nums = (from l in nums orderby l select l).ToArray();64             for (int i = 0; i < nums.Length - 1; i++)65                 nums[i] = nums[i + 1];66         }67 68         static void DistinctAndChange(int[] nums)69         {70             int[] result = nums.Distinct().ToArray();71             for (int i = 0; i < nums.Length - 1; i++)72                 nums[i] = nums[i + 1];73         }74     }75 }
View Code

结果:

技术分享

 

数组作为方法参数时的一些意外情况