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         }
复制代码

 

posted @   电竞~马保国  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示