首页 > 代码库 > out 、ref、params
out 、ref、params
1.out参数
在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组,但是如果返回多个不同类型的值的时候,返回数组就不行,那么这个时候可以考虑用out参数。
out参数侧重于在一个方法中可以返回多个不同类型的值。
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Collections; using System.Threading.Tasks; namespace test { public class myclass { public static void test( int[] nums,out int max ,out int min,out int avg,out string str) { max=nums[0]; min = nums[0]; avg = 0; str = "xiaomin";//out参数必须在方法内赋值 for (int i = 0; i < nums.Length;i++ ) { if (nums[i] > max) { max = nums[i]; } if (nums[i] < min) { min = nums[i]; } avg += nums[i]; } avg = avg / nums.Length; } static void Main() { int[] s = {1,2,3,4,5,6,7,8,9}; int max1; int min1; int avg1; string str1; test(s,out max1,out min1, out avg1,out str1); Console.WriteLine(max1); Console.WriteLine(str1); Console.ReadKey(); } } }
2.ref参数
能够将一个变量带入一个方法中进行改变,改变完成后,再将改变后值带出去。
ref参数要求在方法外必须为其赋值,而方法内可以不赋值。
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Collections; using System.Threading.Tasks; namespace test { public class myclass { public static int test(ref int num) { num = 100 + num; return num; } static void Main() { int s = 100; test(ref s); Console.WriteLine(s); Console.ReadKey(); } } }
3.params可变参数
将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理。必须是形参列表中的最后一个元素
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Collections; using System.Threading.Tasks; namespace test { public class myclass { public static void test(string name,int xhnum ,params int[] nums) { double num = 0; for (int i = 0; i < nums.Length;i++ ) { num+=nums[i]; } Console.WriteLine("{0}这次考试的总成绩是{1}学号是{2}",name,num,xhnum); } static void Main() { test("张三",80,95,98,100); Console.ReadKey(); } } }
out 、ref、params
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。