C#:ref(引用传递参数)和out(输出参数))
来源:互联网 发布:php图片上传 编辑:程序博客网 时间:2024/06/05 05:33
ref:
class refFunc{ static void ShowNum(ref int num) { num *= 2; WriteLine($"num int = {num}"); } static void Main(string[] args) { int mNum = 5; WriteLine($"mNum = {mNum}"); //5 ShowNum(ref mNum); //10 WriteLine($"mNum = {mNum}"); //10 }}
用做ref参数的变量有两个限制:
1.必须在函数调用时,使用变量(不能使用常量);
2.必须使用初始化过的变量(调用(ShowNum(ref mNum);)函数之前,必须给传递的参数(mNum)赋值)。
out:
class OutFunc{ static int MaxValue(int[] intArray,out int maxIndex) { int maxVal = intArray[0]; maxIndex = 0; for(int i = 1; i < intArray.Length; i++) { if(intArray[i] > maxVal) { maxVal = intArray[i]; maxIndex = i; } } return maxVal; } static void Main(string[] args) { int[] myArray = {1,8,3,6,2,5,9,3,0}; int maxIndex; //The maximum value in myArray is 9 WriteLine($"The maximum value in myArray is {MaxValue(myArray,out maxIndex)}"); //The first occurrence of this value is at element 7 WriteLine($"The first occurrence of this value is at element {maxIndex + 1}"); }}
必须在函数调用中使用out关键字。
区别:
1.在函数使用out参数时,必须把它看成未赋值;
2.把未赋值的变量用做ref参数非法,但是可以把未赋值的变量用做out参数。
调用代码可以把已赋值的变量用做out参数,但存储在该变量中的值会在函数执行时丢失。
阅读全文
0 0
- C#:ref(引用传递参数)和out(输出参数))
- 参数(引用参数和值参数,ref,out关键字)
- ref(引用参数)和out(输出参数)的简单用法
- C#基础学习--方法参数的种类,值参数,引用参数(ref),输出参数(out),数组参数(params)
- 引用参数(ref)以及输出参数(out)
- out输出参数(C#)
- ref out 参数传递
- 通过引用向方法传递参数(使用out和ref参数)
- (C#)方法参数关键字:ref、out、params详解
- (C#)方法参数关键字:ref、out、params详解
- ref和out参数
- out 和ref参数
- Out和Ref参数
- 方法参数(ref out params)
- C# 参数关键字(params,ref,out)
- ref参数和out参数
- 方法参数:值参数、引用参数、输出参数 -- ref out
- 方法参数:值参数、引用参数、输出参数 -- ref out
- 技术网址分类记录
- 安装redis扩展
- 第十一章 缓存机制
- 7列表控件的操作
- Java数据结构之链表_动力节点Java学院整理
- C#:ref(引用传递参数)和out(输出参数))
- Proxy 代理模式 对象结构型模式
- ES6 学习之promise 基本用法
- 常见的一些页面布局
- 冒泡排序
- 【Kylin】Kylin中的cube构建
- 生成二维码
- 使用Jsoup获取天气
- Redis几个认识误区