返回顶部
首页 > 资讯 > 精选 >C#中ref和out如何使用
  • 819
分享到

C#中ref和out如何使用

2023-06-17 23:06:19 819人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关C#中ref和out如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在C#中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员(方法、属性、

这篇文章将为大家详细讲解有关C#中ref和out如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

在C#中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员(方法、属性、索引器、运算符和构造函数)更改参数的值,并保持该更改。若要通过引用传递参数,请C#使用ref和out传递数组。为简单起见,本主题的示例中只使用了ref关键字。有关ref和out传递数组之间的差异的信息,请参见、C#使用ref和out传递数组。

值类型变量直接包含其数据,这与引用类型变量不同,后者包含对其数据的引用。因此,向方法传递值类型变量意味着向方法传递变量的一个副本。方法内发生的对参数的更改对该变量中存储的原始数据无任何影响。如果希望所调用的方法更改参数值,必须使用ref或out关键字通过引用传递该参数。为了简单起见,以下示例使用ref。

下面的示例演示通过值传递值类型参数。通过值将变量myInt传递给方法SquareIt。方法内发生的任何更改对变量的原始值无任何影响。

//PassingParams1.cs  usingSystem;  classPassingValByVal  ...{  staticvoidSquareIt(intx)  //Theparameterxispassedbyvalue.  //ChangestoxwillnotaffecttheoriginalvalueofmyInt.  ...{  x*=x;  Console.WriteLine("Thevalueinsidethemethod:{0}",x);  }  publicstaticvoidMain()  ...{  intmyInt=5;  Console.WriteLine("Thevaluebeforecallingthemethod:{0}",  myInt);  SquareIt(myInt);//PassingmyIntbyvalue.  Console.WriteLine("Thevalueaftercallingthemethod:{0}",  myInt);  }  }

当调用SquareIt时,myInt的内容被复制到参数x中,在方法内将该参数求平方。但在Main中,myInt的值在调用SquareIt方法之前和之后是相同的。实际上,方法内发生的更改只影响局部变量x。

下面的示例除使用ref关键字传递参数以外,其余与上面代码相同。参数的值在调用方法后发生更改。

//PassingParams2.cs  usingSystem;  classPassingValByRef  ...{  staticvoidSquareIt(refintx)  //Theparameterxispassedbyreference.  //ChangestoxwillaffecttheoriginalvalueofmyInt.  ...{  x*=x;  Console.WriteLine("Thevalueinsidethemethod:{0}",x);  }  publicstaticvoidMain()  ...{  intmyInt=5;  Console.WriteLine("Thevaluebeforecallingthemethod:{0}",  myInt);  SquareIt(refmyInt);//PassingmyIntbyreference.  Console.WriteLine("Thevalueaftercallingthemethod:{0}",  myInt);  }  }

关于C#中ref和out如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: C#中ref和out如何使用

本文链接: https://lsjlt.com/news/294368.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#中ref和out如何使用
    这篇文章将为大家详细讲解有关C#中ref和out如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在C#中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员(方法、属性、...
    99+
    2023-06-17
  • vue3中如何使用ref和reactive
    这篇文章主要介绍“vue3中如何使用ref和reactive”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue3中如何使用ref和reactive”文章能帮助大家解决问题。1.前言vue3新增了r...
    99+
    2023-07-06
  • vue3中如何使用setup、 ref和reactive
    1.初识setUp的使用简单介绍下面的代码功能:使用ref函数,去使用监听某一个变量的变化,并且把它渲染到视图上。setUp函数是组合API的入口函数。这个是非常重要的。setUp可以去监听变量的变化哈!我们将会利用它ref 在vue中内置...
    99+
    2023-05-16
    Vue3 reactive setup
  • Vue3中的ref和reactive如何使用
    这篇文章主要讲解了“Vue3中的ref和reactive如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3中的ref和reactive如何使用”吧!一、是什么ref和reacti...
    99+
    2023-07-06
  • C#中的out参数、ref参数和params可变参数用法介绍
    out参数: out关键字 通过引用来传递参数,在定义方法和调用方法的时候都必须使用out关键字 简单来讲out可以用来返回多个参数类型。 static void Ma...
    99+
    2024-04-02
  • C语言中如何使用go out函数
    对不起,我无法提供有关如何使用C语言中的"go out"函数的指南或代码示例。C语言本身并没有内置的"go out"函数,这可能是一个误解或不正确的术语。您可以提供更详细的描述或相关信...
    99+
    2024-03-13
    编程 函数 使用 c语言
  • C#关键字in、out、ref的作用与区别
    简介: In:过程不会改写In的内容 ,默认的传递方式,即向函数内部传送值。Out和out:传入的值不会被过程所读取,Out在传入的时候,参数的数值会清空,但过程可以写 。只出不进r...
    99+
    2024-04-02
  • Vue中ref特性如何使用
    这篇文章主要介绍“Vue中ref特性如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue中ref特性如何使用”文章能帮助大家解决问题。一、ref的基本使用ref的使用<!-- ...
    99+
    2023-07-04
  • C#关键字in、out、ref的作用与区别是什么
    这篇文章主要讲解了“C#关键字in、out、ref的作用与区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#关键字in、out、ref的作用与区别是什么”吧!简介:In:过程不会改...
    99+
    2023-06-30
  • 如何在vue3中使用setup、 ref、reactive
    1.初识setUp的使用简单介绍下面的代码功能:使用ref函数,去使用监听某一个变量的变化,并且把它渲染到视图上。setUp函数是组合API的入口函数。这个是非常重要的。setUp可以去监听变量的变化哈!我们将会利用它ref 在vue中内置...
    99+
    2023-05-14
    Vue3 reactive setup
  • vue3中的ref与reactive如何使用
    本文小编为大家详细介绍“vue3中的ref与reactive如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue3中的ref与reactive如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、r...
    99+
    2023-07-06
  • vue3中ref和reactive怎么使用
    这篇“vue3中ref和reactive怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3中ref和reacti...
    99+
    2023-07-05
  • Vue3中的ref和reactive怎么使用
    今天小编给大家分享一下Vue3中的ref和reactive怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、是什么r...
    99+
    2023-07-06
  • 如何理解Vue3中的Refs和Ref
    本篇文章为大家展示了如何理解Vue3中的Refs和Ref,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。小编和大家分享关于Vue3中的数据相应的问题,下面我们来例举一个这样的例子Vue.createA...
    99+
    2023-06-25
  • 怎么在vue3中使用setup、 ref和reactive
    本文小编为大家详细介绍“怎么在vue3中使用setup、 ref和reactive”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么在vue3中使用setup、 ref和reactive”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入...
    99+
    2023-07-06
  • C# 中switch和case如何使用
    今天就跟大家聊聊有关C# 中switch和case如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。public static class Swit...
    99+
    2023-06-17
  • C++中map和set如何使用
    这篇文章主要介绍了C++中map和set如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++中map和set如何使用文章都会有所收获,下面我们一起来看看吧。一、set1.1 set的介绍首先要知道set...
    99+
    2023-07-05
  • vue3如何使用ref获取元素
    目录vue3使用ref获取元素vue3中ref的理解1.什么是ref2.ref本质3.ref注意点4.ref获取元素vue3使用ref获取元素 在vue2.x中,可以通过给元素添加r...
    99+
    2024-04-02
  • C#中ref关键字的用法
    在C#中,如果在方法参数前面加上ref关键字,说明参数传递的是引用,而不是值。如何理解呢? 参数是简单类型的例子 static void Main(string[] ...
    99+
    2022-11-13
    C# ref关键字
  • C++11中std::ref和std::cref的作用是什么
    这篇文章给大家分享的是有关C++11中std::ref和std::cref的作用是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、源码准备本文是基于gcc-4.9.0的源代码进行分析,std::ref和st...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作