关键区别-输出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。访问说明符用于指定应用程序中的方法可访问性。参数用于接收数据或将数据传递给方法。也可以有不带参数的方法。参数可以是值参数、输出参数或参考参数。
输出参数用于将结果传递回调用方法。为此,参数应该使用关键字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 -自己的工作,(公共领域)通过下议院维基
留下回复