C#中out与ref的区别实例解析
作者:shichen2014 发布时间:2022-01-27 13:29:09
标签:C#,out,ref,区别
本文实例讲述了C#中Out与Ref的区别,可以加深C#程序设计人员对Out和Ref用法的理解,具体分析如下:
一、区别分析:
Out和Ref作为参数传递到方法体中,所传递的都是引用地址,两者在操作上本身没有区别。
但Out传递到方法体时,参数会清空,这意味着在方法体内使用Out参数前必须赋值。
而Ref传递到方法体时,其参数也是一起被传递进来,所以作为Ref参数传递,方法体中可以不对其参数赋值。
二、实例代码如下:
class Program
{
/*ref是有进有出,out是只出不进*/
static void Main(string[] args)
{
/*作为Out参数传递 传递前可以不初始化*/
string outString = "This is the outString value";
Console.WriteLine(outString);
outMethod(out outString);
Console.WriteLine(outString);
/*作为Ref参数传递 传递前必须初始化*/
string refString = "This is the refString value";
Console.WriteLine(refString);
refMethod(ref refString);
Console.WriteLine(refString);
Console.ReadLine();
}
static bool outMethod(out string str)
{
/*作为Out参数传递 传递到方法体后 参数被清空*/
//Console.WriteLine(str); Use of unassigned out parameter 'str'
/*作为Out参数传递 值必须在方法体内赋值*/
/*作为Out参数传递 返回前值必须初始化*/
str = "This is the new outString value";
return true;
}
static bool refMethod(ref string str)
{
Console.WriteLine(str);
/*作为Ref参数传递 返回前值可以不初始化*/
return true;
}
}
希望本文所述实例对大家C#程序设计有一定的帮助。
0
投稿
猜你喜欢
- 本文实例为大家分享了flutter实现appbar下选项卡切换的具体代码,供大家参考,具体内容如下TabBar 、Tab、TabBarVie
- 1.应用实例需求: 演示 Spring-Boot 通过表单注册用户,并支持上传图片2.代码实现代码实现-文件上传创建 templates/u
- 本文实例为大家分享了Java实现猜数字游戏的具体代码,供大家参考,具体内容如下完成猜数字游戏需要实现以下几点:获得一个随机数作为“答案数”;
- 什么是https要说https我们得先说SSL(Secure Sockets Layer,安全套接层),这是一种为网络通信提供安全及数据完整
- 一般而言,Android 应用在请求数据时都是以 Get 或 Post 等方式向远程服务器发起请求,那你有没有想过其实我们也可以在 Andr
- 本文实例讲述了Java使用JDBC连接postgresql数据库。分享给大家供大家参考,具体如下:package tool;import j
- 1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是如果有Synchr
- 前言:最近终于用上了高性能的测试机(54C96G * 3),相较之前的单机性能提升了三倍,数量提升了三倍,更关键的宽带提单机升了30倍不止,
- 帧率(Frame rate)是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数(Frames per Second,简称:FPS)或“赫
- 访问Controller返回400BadRequest问题SpringMVC使用自定义类型接收参数时, form提交会返回400 Bad R
- 前言当系统的并发比较高的时候,日志的处理输出也是一种性能的开销负担,所以,选择一个中间件来处理消费日志必不可少!下面是spring boot
- 前言本文主要给大家介绍的是关于obix协议在java中的配置和使用,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。什么是
- 题目:使用栈计算类似表达式:5+2*3-2 的计算结果 提示:简易计算器操作符号限于+,-,*,/的计算分析思路:1、
- 对于java开发人员来说,Idea的普及率已经很高了。但是还是很多好用的技巧没有用到,只是用到一些基本的功能,蛮浪费IDEA这个优秀的IDE
- 上一次接触到编码的知识,还是上大学的时候,那时候学的是通信工程专业,有关编码的内容,不记得是在通信原理还是信息论与编码里面学到的了。却依然记
- springboot集成开发实现商场秒杀加入主要依赖<dependency> <groupId>org.spring
- springboot项目启动,访问报404错误今天在做一个springboot项目的时候,是接着别人的项目写的,写完之后想做一下测试,于是就
- Step1: 安装JDK并配置环境变量;Step2: 安装Gradle进入点击打开链接官网首页点击install gra
- 在spring的注解 @RequestMapping 之下可以直接获取 HttpServletRequest 来获得诸如request he
- 引入pom<?xml version="1.0" encoding="UTF-8"?>&