比较相似术语之间的差异

之间的区别

首页 / 技术 / 它 / 编程 /c#中out和ref的区别

c#中out和ref的区别

2018年2月10日发布的Lithmee

关键区别-输出vs ref在c#中

c#是微软开发的一种现代编程语言。它用于开发桌面、web和移动的各种应用程序。功能方法是编程中的一个概念。用于执行特定任务的语句组称为函数或方法。在c#程序中,执行从main()开始。这是一个方法的例子。当调用方法时,数据被传递给方法或从方法接收。调用新方法的方法称为调用方法.这种新方法被称为叫方法.为了管理传递的值和返回结果,c#使用参数.它们是值参数、输出参数和参考参数。值参数用于按值将参数传递到方法中。引用参数用于通过引用将参数传递给方法。输出参数用于将结果从方法传递回来。在c#中,out关键字用于输出参数,ref关键字用于引用参数。的关键的区别在c#中的out和ref之间,Out是一个关键字,用于引用输出参数,用于将结果从被调用的方法传递给调用方法,而ref是一个关键字,用于引用参数,用于将数据从调用方法传递给被调用的方法,并从被调用的方法接收数据到调用方法。

内容

1.概述和主要区别
2.c#中有什么
3.c#中的ref是什么
4.c#中out和ref的相似之处
5.在c#的表格形式中,并排比较与引用
6.总结

c#中有什么?

函数或方法的语法如下所示。方法有许多元素,如方法名、参数列表、返回类型和访问说明符。

<访问说明> <返回类型> <方法名称>(参数列表)

{//语句执行

}

每个方法都有一个惟一的方法来进行函数调用。可执行语句位于花括号内。返回类型说明函数是否返回值。如果没有返回类型,则称为void。访问说明符用于指定应用程序中的方法可访问性。参数用于接收数据或将数据传递给方法。也可以有不带参数的方法。参数可以是值参数、输出参数或参考参数。

c#中out和ref的区别

输出参数用于将结果传递回调用方法。为此,参数应该使用关键字out声明。输出参数不会创建新的存储位置。通常,一个方法返回一个值。但是在c#中,可以使用输出参数从函数返回两个值。参考下面的程序。

名称空间application1 {

计算{

公共无效显示(out int a, out int b){

Int值=5;

一个=价值;

b =价值;

A = A * A;

b = b * b;

}

public static void main(String [] args){

Int value1= 10, value2= 20;

计算cal= new计算();

Cal.display (out value1, out value2);

Console.ReadLine ();

}

}

}

从main方法调用display函数。value1和value two有10和20,但它们没有被带入方法中。在函数中,a的值是25,b的值也是25。因此,返回这些值。当打印value1和value2时,它不会给出10和20。相反,它将打印25和25。使用out关键字可以从该方法返回多个值。

c#中的ref是什么?

当按值传递参数时,将为每个参数创建一个新的存储位置。从主程序发送的实际参数不会改变。相反,这些值被复制到一个单独的位置。这些新的变量副本称为形式参数。参考下面的代码。

名称空间application1 {

计算{

公共无效交换(int x, int y){

int温度;

temp = x;

x = y;

y = temp;

}

public static void main(String [] args){

计算cal= new计算();

Int p = 2;

Int q = 3;

cal.swap (p, q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

}

}

}

根据上面的程序,计算类有一个swap()方法。在主程序中,创建了一个计算类型的对象。有p和q两个值,变量p值为2,变量q值为3。这两个值被传递给swap方法。在swap方法中,值2被复制到变量x中,值3被复制到变量y中。使用temp变量,值被交换。回到主程序,当打印p和q时,值不会交换。p值仍然是2 q值仍然是3。即使在交换方法,值交换,但不反映在主程序。

与上面传递值不同,可以通过引用传递参数。引用变量是对内存位置的引用。没有创建新的内存位置。该方法的变化体现在主程序中。在c#中,引用参数是使用ref关键字引用的。参考下面的程序。

名称空间application1 {

计算{

公共无效交换(ref int x, ref int y){

int温度;

Temp = x;

X = y;

Y = temp;

}

public static void main(String [] args){

计算cal= new计算();

Int p = 2;

Int q = 3;

(ref p,ref q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

}

}

}

根据上面的程序,计算类具有交换方法。在主程序中,创建了一个计算类型的对象。有两个变量,如p和q, p变量的值为2,q变量的值为3。对p和q的内存位置的引用不是传递值,而是传递给方法。使用ref引用这些引用变量。在swap方法中,不是将值复制到新位置,而是对实际的参数进行更改。当打印主程序的p和q值时,它会给出交换后的值。现在p值是3 q值是2。

c#中的out和ref有什么相似之处?

  • 两者都是用于引用方法参数的关键字。

在c#中,out和ref有什么区别?

c#中的out和ref

out是c#中的关键字,用于引用输出参数。它用于将结果从被调用的方法传递给调用该方法。 ref是c#中的关键字,用于引用引用参数。它用于将数据从调用方法传递到被调用方法,并将数据从被调用方法返回到调用方法。
功能
当使用关键字out时,数据可以从调用方法传递到被调用方法。但这些数据被丢弃了。它用于将结果从被调用方法传递给调用方法。 当使用关键字ref时,数据将从调用方法传递给被调用方法,而被操作的数据将传递回调用方法。
数据传递
当使用关键字out时,数据以一种被调用方法的方式传递给调用方法。 当使用关键字ref时,数据以两种方式传递,即从调用方法传递到被调用方法,以及从被调用方法传递到调用方法。

总结-输出vs ref在c#中

在调用方法时,可能需要将值传递到方法中,并从方法中获取结果。c#有不同的参数来实现这一点。值参数用于按值将参数传递到方法中。引用参数用于通过引用将参数传递给方法。输出参数用于将结果从方法传递回来。在c#中,out关键字用于输出参数,ref关键字用于引用参数。在c#中,out和ref的区别在于,out是一个关键字,用于引用输出参数,用于将结果从被调用的方法传递给调用方法,而ref是一个关键字,用于引用参数,用于将数据从调用方法传递给被调用的方法,并从被调用的方法接收数据到调用方法。

在c#中下载out vs ref的PDF

您可以下载这篇文章的PDF版本,并根据引文注释将其用于离线目的。请在此下载PDF版本:c#中Out和Ref的区别

参考:

1. tutorialspoint.com。“c#方法”。这一点.可以在这里
2. dnfvideo。c#输出参数Vs REF参数,. net面试准备视频,2015年9月28日。可以在这里

图片来源:

1.' C调'由Mothmolevna -自己的工作,(公共领域)通过下议院维基

相关文章:

C和c#的区别 逻辑地址与物理地址的区别逻辑地址与物理地址的区别 汇编器和编译器的区别 getc与getchar_Figure 02getc和getchar的区别 JavaScript中null和undefined的区别JavaScript中null和undefined的区别

了下:编程标记:升C,比较c#中的out和ref,out和引用c#的差异,找出并参考c#的相似之处,在c#中,在c#数据中,在c#定义中,在c#的功能,c#中的out和ref,C语言引用,引用c#数据,参考c#定义,参考c#函数

作者简介:Lithmee

Lithmee Mandula是计算机系统工程(荣誉)学士毕业生。她目前正在攻读计算机科学硕士学位。她在写作和研究方面的兴趣领域包括编程、数据科学和计算机系统。

留下回复取消回复

你的电邮地址将不会公布。必填字段已标记*

请求的文章

特色的帖子

冠状病毒和感冒症状的区别

冠状病毒和感冒症状的区别

冠状病毒和SARS的区别

冠状病毒和SARS的区别

冠状病毒和流感的区别

冠状病毒和流感的区别

冠状病毒和Covid - 19的区别

冠状病毒和Covid - 19的区别

你可能喜欢

HTC Desire S和三星Galaxy S II的区别(Galaxy S2,型号GT-i9100)

放大器和运算放大器的区别

黄疸与黄疸之区别

黄疸与黄疸之区别

日心说与地心说的区别

权力与功的区别

最新的文章

  • 脂肪团和脂肪水肿的区别是什么
  • 激动素和玉米素的区别是什么
  • 过氧化苯甲酰和苯甲酸苄酯有什么区别
  • 皮脂和汗液的区别是什么
  • 左旋肉碱和乙酰左旋肉碱有什么区别
  • 直立性低血压和血管迷走神经性晕厥的区别是什么
  • 首页
  • 职位空缺
  • 关于
  • 请求的文章
  • 联系我们

版权所有©2010-2018之间的区别.版权所有。使用条款及隐私政策:法律.