C#输出参数out问题如何解决

发布时间:2023-02-25 09:29:46 作者:iii
来源:亿速云 阅读:144

这篇文章主要讲解了“C#输出参数out问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#输出参数out问题如何解决”吧!

C# 输出参数out

什么是输出参数

方法声明时,使用out修饰符声明的形参,成为输出参数。

输出参数的特点

1、输出参数不创建新的储存位置。

2、输出参数表示的储存位置就是实参表示的储存位置。

3、传递给输出参数的实参在方法调用前不需要强制初始化,在方法内部使用该形参时,需要强制赋值一次。

out参数的使用

使用out参数,可以使方法返回多个返回值。

static void Main(string[] args)
{
   int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
   int max;
   int min;
   int sum;
   double avg;
   int[] arr = GetMaxMinSumAvg(numbers, out max, out min, out sum, out avg);
   Console.WriteLine(max);
   Console.WriteLine(min);
   Console.WriteLine(sum);
   Console.WriteLine(avg);
   Console.WriteLine(arr.Length);
   Console.ReadKey();
}
 
public static int[] GetMaxMinSumAvg(int[] nums, out int max, out int min, out int sum, out double avg)
{
   int[] res = new int[4];
   max = nums.Max();
   min = nums.Min();
   sum = nums.Sum();
   avg = nums.Average();
   return res;
}

C#中out参数、ref参数与值参数用法

ref参数是引用,out参数为输出参数。

out参数修饰符

1、当希望方法返回多个值时,声明 out 方法非常有用。

2、不必初始化作为 out 参数传递的变量。然而,必须在方法返回之前为 out 参数赋值。

3、属性不是变量,不能作为 out 参数传递。

 static void Main(string[] args)
        {
            string s = "123";
            int result;
            bool b = MyTest(s,out result);
        }
        public static bool MyTest(string s, out int result)
        {
            bool isTrue;
            try {
                result = Convert.ToInt32(s);//使用out参数必须在定义方法内进行赋值
                isTrue = true;
            }
            catch
            {
                isTrue = false;
                result = 0;
            }
            return isTrue;
        }

该方法返回类型为bool类型,在返回bool类型的同时也顺带返回了int类型的result变量。即,返回两种变量类型。

ref参数修饰符

1、必须使用初始化过的变量

2、属性不是变量,不能作为 ref 参数传递。

3、Ref则用在要要被调出使用的方法修改调出使用者的引用的时候。

ref参数在定义的方法内对其进行处理,再将结果返回,定义方法无需多余的返回类型。

 static void Main(string[] args)
        {
            //使用ref参数来交换两个数字的值
            int a = 1;
            int b = 2;
            Change(ref a, ref b);
            Console.WriteLine("a{0},b{1}",a,b);
            Console.ReadKey();
        }
        public static void Change(ref int a, ref int b)
        {
            int temp;
            temp = a;
            a = b;
            b = temp;
        }

感谢各位的阅读,以上就是“C#输出参数out问题如何解决”的内容了,经过本文的学习后,相信大家对C#输出参数out问题如何解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. 【Mysql】ERROR 1872 (HY000): Slave failed to initialize relay log info
  2. ORACLE CHM问题处理

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

out

上一篇:SpringBoot security安全认证登录如何实现

下一篇:电脑delete删除的文件如何恢复

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》