知识大全 c#学习体会:使用 ref 和 out 传递数组
Posted 元素
篇首语:幽沉谢世事,俯默窥唐虞。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 c#学习体会:使用 ref 和 out 传递数组相关的知识,希望对你有一定的参考价值。
c#学习体会:使用 ref 和 out 传递数组(downmoon) 希望与大家分享 与所有的 out 参数一样 在使用数组类型的 out 参数前必须先为其赋值 即必须由接受方为其赋值 例如
public static void MyMethod(out int[] arr) arr = new int[ ]; // 数组arr的明确委派 与所有的 ref 参数一样 数组类型的 ref 参数必须由调用方明确赋值 因此不需要由接受方明确赋值 可以将数组类型的 ref 参数更改为调用的结果 例如 可以为数组赋以 null 值 或将其初始化为另一个数组 例如 public static void MyMethod(ref int[] arr) arr = new int[ ]; // arr初始化为一个新的数组下面的两个示例说明 out 和 ref 在将数组传递给方法上的用法差异 using System;class TestOut static public void FillArray(out int[] myArray) // 初始化数组(必须): myArray = new int[ ] ; static public void Main() int[] myArray; // 初始化数组(不是必须的!) // 传递数组给(使用out方式的)调用方: FillArray(out myArray); // 显示数组元素 Console WriteLine( 数组元素是: ); for (int i= ; i < myArray Length; i++) Console WriteLine(myArray[i]); 输出数组元素是: 示例 在此例中 在调用方(Main 方法)中初始化数组 myArray 并通过使用 ref 参数将其传递给 FillArray 方法 在 FillArray 方法中更新某些数组元素 然后将数组元素返回调用方并显示 using System;class TestRef public static void FillArray(ref int[] arr) // 根据需要创建一新的数组(不是必须的) if (arr == null) arr = new int[ ]; // 否则填充数组 就可以了 arr[ ] = ; arr[ ] = ; static public void Main () //初始化数组: int[] myArray = ; // 使用ref传递数组: FillArray(ref myArray); //显示更新后的数组元素: Console WriteLine( 数组元素是: ); for (int i = ; i < myArray Length; i++) Console WriteLine(myArray[i]); 输出数组元素是: cha138/Article/program/net/201311/13303相关参考
在C#中既可以通过值也可以通过引用传递参数通过引用传递参数允许函数成员(方法属性索引器运算符和构造函数)更改参数的值并保持该更改若要通过引用传递参数请使用ref或out关键字为简单起见本主题的示例
知识大全 .net程序员的盲点(一):ref,out ,params的区别
C#中有三个关键字refoutparams虽然本人不喜欢这三个关键字因为它们疑似破坏面向对象特性但是既然m$把融入在c#体系中那么我们就来认识一下参数修饰符refoutparams吧还有它们的区别
ASP.NET教程:Ref和Out关键字异同 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 类型
正确理解C#中的ref关键字(续)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!那么我们再来
正确理解C#中的ref关键字(续)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!前几天写了一
知识大全 c#简单实现二维数组和二维数组列表List<>的转置
c#简单实现二维数组和二维数组列表List的转置 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
要接受未知数目的参数可以使用关键字params该关键字用于参数列表中声明参数列表最后面的值params关键字与数组一起使用 当值被传递给方法时编译器首先查看是否有匹配的方法如果有则调用该方法如果
C#2维数组的定义 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 今天偶尔有个东西要用到维数组发
C#数组排序与对象大小比较 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
C#函数的参数返回结构数组 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 头晕脑涨地研究了一天就