C#基础--Ref与Out区别
2024-09-05 03:24:21
两者都是按地址传递的,使用后都将改变原来参数的数值。
class Program
{
static void Main(string[] args)
{ int num = 1;
Method(ref num);
Console.WriteLine(num);
Console.ReadKey();
}
public static void Method(ref int num)
{
num += 5;
}
}
class Program
{
static void Main(string[] args)
{ int num = 1;
Method(out num);
Console.WriteLine(num);
Console.ReadKey();
}
public static void Method(out int num)
{
num = 5;
num++;
}
}
一:关于调用前初始值
ref作为参数的函数在调用前,实参必须赋初始值。否则编译器将提示:使用了未赋值的局部变量; out作为参数的函数在调用前,实参可以不赋初始值。 二:关于调用
在被调用函数内,out引入的参数在返回前至少赋值一次,否则编译器将提示:使用了未赋值的out参数; 在被调用函数内,ref引入的参数在返回前不必为其赋初值。
最新文章
- RPC原来就是Socket——RPC框架到dubbo的服务动态注册,服务路由,负载均衡演化
- 代码验证浏览器是否支持html audio 和video
- Android 手机卫士12--进程管理
- 我的GTD中收集的书单
- TCP三次握手及四次挥手详细 转
- Android实现抽奖转盘
- OpenJDK和Sun/OracleJDK 区别 与联系
- cocos2d-x游戏开发系列教程-搭建cocos2d-x的windows开发环境
- BDIA增强
- 【WCF系列二:如何调用WCF服务】WCF入门教程(图文)VS2012
- Android监听WebView滑动到底部
- mysq开启慢查询
- 在ubuntu16.04中初次体验.net core 2.0
- Spring Cloud构建微服务架构(六)高可用服务注册中心
- WOSA/XFS PTR Form解析库—xfsptrdata.h
- 20155213 2016-2017-2 《Java程序设计》第九周学习总结
- css3导航hover悬停效果
- Swift - 获取状态栏一些信息
- 软件工程firstblood
- 1.openldap介绍
热门文章
- Animator动画XML实现
- 持续集成和部署工具GOCD
- 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_07-Feign远程调用-Feign测试
- iis启动异常 0x80072749
- Java使用Apache Commons Exec运行本地命令行命令
- Touchpal实习技术栈和总结
- Java 23中设计模式
- requirejs r.js 打包报错paths fallback not supported in optimizer please provide a build config path override for jquery
- Flink中API使用详细范例--window
- element form 校验数组每一项