01.out参数、ref参数、params参数
1)out参数。如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组。但是如果返回多个不同类型的值的时候,返回数组就无法解决问题。这个时候可以考虑使用out参数。out参数不仅可以返回多个相同类型的值,也可以返回多个不同类型的值。
1 static void main(string[] args) 2 { 3 int[] arrs={1,2,3}; 4 //调用 。必须在参数上写上out参数。 5 //out int max 其中int max也可以在前面定义。直接写out max即可。 6 getMaxAndMin(arrs,out int max,out int min); 7 console.writeline(max); 8 console.writeline(max); 9 } 10 11 //求最大值与最小值 12 public staric void getMaxandMin(int[] nums,out int max,out int min) 13 { 14 //out参数必须在函数内给其赋值 15 max = nums[0]; 16 min = num[0]; 17 for(int i=0;i<nums.length;i++) 18 { 19 if(nums[i]>max) 20 { 21 max=nums[i]; 22 } 23 if(nums[i]<min) 24 { 25 min=nums[i]; 26 } 27 } 28 }
2)ref参数。能够将一个变量带入一个方法中进行改变,改变完成后,再将改变后的值带出方法。
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 double salary = 5000; 6 JiangJin(ref salary); 7 //实现了在无返回值的条件下,将salary改变后的值带出 8 Console.WriteLine(salary);//输出5500 9 } 10 public static void JiangJin(ref double s) 11 { 12 s += 500; 13 } 14 }
3)params参数。将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理。但是params修饰的参数必须在形参列表中的最后一个元素
1 static void Main(string[] args) 2 { 3 int[] arrs = { 60, 50, 30 }; 4 scoreSum("zhangsan",arrs);//输出140 5 } 6 //params实现了动态接收参数。但是params修饰的参数必须在形参列表中的最后一个元素 7 public static void scoreSum(string name,params int [] nums) 8 { 9 int sum = 0; 10 for (int i = 0; i < nums.Length; i++) 11 { 12 sum += nums[i]; 13 } 14 Console.WriteLine("name:"+name+"的总成绩为:"+sum); 15 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!