博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 ref 和 out 传递数组注意事项
阅读量:4969 次
发布时间:2019-06-12

本文共 1351 字,大约阅读时间需要 4 分钟。

1、与所有的 out参数一样,在使用数组类型的 out 参数前必须先为其赋值,即必须由被调用方为其赋值

在此例中,在调用方(
Main 方法)中声明数组 
theArray,并在 
FillArray 方法中初始化此数组。然后将数组元素返回调用方并显示。
class TestOut{    static void FillArray(out int[] arr)    {        //初始化数组:        arr = new int[5] { 1, 2, 3, 4, 5 };    }    static void Main()    {        int[] theArray; // 可以不用初始化数组        //使用out传递数组        FillArray(out theArray);                System.Console.WriteLine("数组结果:");        for (int i = 0; i < theArray.Length; i++)        {            System.Console.Write(theArray[i] + " ");        }    }}
 
 数组结果:

1 2 3 4 5

 

2、与所有的 ref 参数一样,数组类型的 ref 参数必须由调用方明确赋值。因此不需要由接受方明确赋值。可以将数组类型的 ref 参数更改为调用的结果。例如,可以为数组赋以 null 值,或将其初始化为另一个数组。

在此例中,在调用方(Main 方法)中初始化数组 theArray,并通过使用 ref 参数将其传递给 FillArray 方法。在 FillArray 方法中更新某些数组元素。然后将数组元素返回调用方并显示。

class TestRef{    static void FillArray(ref int[] arr)    {               if (arr == null)        {            arr = new int[10];        }        arr[0] = 1111;        arr[4] = 5555;    }    static void Main()    {        // 必须初始化数组        int[] theArray = { 1, 2, 3, 4, 5 };        // 使用ref传递数组        FillArray(ref theArray);                System.Console.WriteLine("数组结果:");        for (int i = 0; i < theArray.Length; i++)        {            System.Console.Write(theArray[i] + " ");        }    }}

输出

数组结果:

1111 2 3 4 5555

 

转载于:https://www.cnblogs.com/weicanpeng/p/8073059.html

你可能感兴趣的文章
HDU6203 ping ping ping
查看>>
构建之法阅读笔记02
查看>>
检索COM 类工厂中CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败
查看>>
Fireworks基本使用
查看>>
Linux 标准 I/O 库
查看>>
.net Tuple特性
查看>>
Java基础常见英语词汇
查看>>
nginx启动、关闭命令、重启nginx报错open() "/var/run/nginx/nginx.pid" failed
查看>>
BZOJ 3097 Hash Killer I
查看>>
UINavigationController的视图层理关系
查看>>
html阴影效果怎么做,css 内阴影怎么做
查看>>
宏观经济
查看>>
综合练习:词频统计
查看>>
BZOJ1026: [SCOI2009]windy数
查看>>
样板操作数
查看>>
64位UBUNTU下安装adobe reader后无法启动
查看>>
组件:slot插槽
查看>>
Nginx配置文件nginx.conf中文详解(转)
查看>>
POJ 1308 Is It A Tree?(并查集)
查看>>
N进制到M进制的转换问题
查看>>