文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-07-05 06:13

关注

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

C# 输出参数out

什么是输出参数

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

输出参数的特点

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

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

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

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参数修饰符

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

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

属性不是变量,不能作为 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参数修饰符

必须使用初始化过的变量

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

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问题如何解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯