深入Ref,Out的理解及其使用
class Program
{
//使用out后必须对变量赋值
public void TestOut(out int x, out int y)
{
x = 1;
y = 2;
}
//此时传进来的值分别为x1:10,y1:11,输出之后的x1的值为2
public void TestRef(ref int x, ref int y)
{
//引用剪剪那句话传进来的是猪,出来的可能是头牛(很精辟!)
x = 2;
}
static void Main(string[] args)
{
int x;
int y;
Program P1 = new Program();
P1.TestOut(out x,out y);
Console.WriteLine("x={0},y={1}", x, y);
//在使用之前ref必须对变量赋值
int x1 = 10;
int Y1 = 11;
P1.TestRef(ref x1,ref Y1);
Console.WriteLine("x1={0},y1={1}", x1, Y1);
}
}
相关推荐
-
深入Ref,Out的理解及其使用
复制代码 代码如下: class Program { //使用out后必须对变量赋值 public void TestOut(out int x, out int y) { x = 1; y = 2; } //此时传进来的值分别为x1:10,y1:11,输出之后的x1的值为2 public void
-
C#中out与ref的区别实例解析
本文实例讲述了C#中Out与Ref的区别,可以加深C#程序设计人员对Out和Ref用法的理解,具体分析如下: 一.区别分析: Out和Ref作为参数传递到方法体中,所传递的都是引用地址,两者在操作上本身没有区别. 但Out传递到方法体时,参数会清空,这意味着在方法体内使用Out参数前必须赋值. 而Ref传递到方法体时,其参数也是一起被传递进来,所以作为Ref参数传递,方法体中可以不对其参数赋值. 二.实例代码如下: class Program { /*ref是有进有出,out是只出不进*/ st
-
java及C++中传值传递、引用传递和指针方式的理解
java的值传递理解: 代码1: public class Test { /** * @param args */ public static void main(String[] args) { StringBuffer buffer= new StringBuffer("colin"); SChange(buffer); System.out.println( buffer); } public static void SChange (StringBuffer str) { st
-
深入理解typescript中的infer关键字的使用
infer 这个关键字,整理记录一下,避免后面忘记了.有点难以理解呢. infer infer是在 typescript 2.8中新增的关键字. infer 可以在 extends 条件类型的字句中,在真实分支中引用此推断类型变量,推断待推断的类型. 例如:用infer推断函数的返回值类型 type ReturnType<T> = T extends (...args: any[]) => infer R ? R : any; type fn = () => number type
-
Vue3中reactive函数toRef函数ref函数简介
目录 reactive函数 用法: toRef函数(了解即可) 用法: ref函数 定义响应式数据 直接定义使用 获取dom 获取组件实例对象 reactive函数 reactive用于定义响应式数据(可以理解 成data的替代品) 用法: 导入 import {reactive} from 'vue' 使用: const state=reactive({ 参数名:参数值 }) 访问: state.参数名 访问: state.参数名 toRef函数(了解即可) toRef:将响应式数据中某个字段
-
React前端开发createElement源码解读
目录 React 与 Babel 元素标签转译 组件转译 子元素转译 createElement 源码 函数入参 第一段代码 __self 和 __source 第二段代码 props 对象 第三段代码 children 第四段代码 defaultProps 第五段代码 owner ReactElement 源码 REACT_ELEMENT_TYPE 回顾 React 与 Babel 元素标签转译 用过 React 的同学都知道,当我们这样写时: <div id="foo">
-
c#基础系列之ref和out的深入理解
扩展阅读 c#基础系列1---深入理解 值类型和引用类型 c#基础系列2---深入理解 String 引言 在上篇文章深入理解值类型和引用类型的时候,有的小伙伴就推荐说一说ref和out 关键字,昨天晚上彻夜难眠在想是否要谈一下呢,因为可谈的不是太多,也可能是我理解的不够深刻. C#有两种参数传递方式:传值和引用,传值就是变量的值,而引用则是传递的变量的地址: 本文中说的Ref和Out都是引用传递,Ref的重点是把值传给调用方法,Out则是得到调用方法的值,类似于有返回类型的方法返回的值: 在使
-
如何深入理解React的ref 属性
概述 首先,Refs 和 ref 是两个概念,Refs 是 React 提供的可用特定 API 创建的一个对象.该对象的结构如下: 这个对象只有一个属性就是 current ,那么这个对象是用来干嘛的呢? Refs 允许我们访问 DOM 节点或在 render 方法中创建的 React 元素.(DOM节点就是指原生DOM元素,在render()方法中创建的 React 元素就是指 React 的类组件元素) 我们可以想象这样一个需求,两个兄弟元素,一个是 div ,一个是 button.现在想实
-
Vue3如何理解ref toRef和toRefs的区别
目录 一.基础 1.ref 2.toRef 3.toRefs 4.最佳的使用方式 二.深入 1.为什么需要ref 2.ref为什么需要.value 3.为什么需要toRef和toRefs Vue3中新增了几种创建响应式数据的方法,其各自的作用当然也不尽相同,每一种方法都有其自己的应用场景,今天我们来聊聊什么是ref toRef和toRefs?三者在使用方式上有什么不同?最佳的使用方式是什么? 一.基础 1.ref (1) 生成值类型的响应式数据, 通过 .value修改值 <template>
-
详谈Spring对IOC的理解(推荐篇)
一.IOC控制反转和DI依赖注入 1.控制反转,字面可以理解为:主动权的转移,原来一个应用程序内的对象是类通过new去主动创建并实例化的,对对像创建的主动权在程序代码中.程序不仅要管理业务逻辑也要管理对的象创建和依赖关系.这是很累的,也跟软件工程 "低耦合高内聚" 的概念不十分符合. 有了spring的ioc容器之后,对象的实例化和依赖关系管理都由IOC容器进行统一管理,主体类只要依赖ioc容器就够了,需要啥,容器会给他注入进去,也就是只要声明对象不用再主动去new,ioc容器帮忙把相
随机推荐
- ExtJS Grid使用SimpleStore、多选框的方法
- java设计模式之桥接模式(Bridge)
- 微博@符号的用户名提示效果。(想@到谁?)
- php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
- 用Php编写注册后Email激活验证的实例代码
- javascript innerText和innerHtml应用
- 深入理解JavaScript程序中内存泄漏
- 学习Java多线程之线程定义、状态和属性
- CentOS 6.6实现永久修改DNS地址的方法
- IntelliJ IDEA 2017.1.4 x64配置步骤(介绍)
- 实例讲解Android应用中自定义组合控件的方法
- c语言socket多线程编程限制客户端连接数
- Android中使用findViewByMe提升组件查找效率
- Android UI设计与开发之仿人人网V5.9.2最新版引导界面
- java反射获取一个object属性值代码解析
- Vue cli+mui 区域滚动的实例代码
- python Celery定时任务的示例
- Python堆排序原理与实现方法详解
- jquery实现二级导航下拉菜单效果实例
- python实现月食效果实例代码