在java和C#中如何传值和传引用?

详细点

第1个回答  2009-07-05
private void Method1 (int a)
{
}
这样默认a就是按值传递.
private void Method1 (ref int a)
{
}
这样就是按引用传递本回答被网友采纳
第2个回答  2009-07-06
如果传的是基本数据类型的话,就是值传递,传的是对象的话,就是引用传递。
第3个回答  2009-07-05
他们是差不多的 基本数据类型都是值传递 基本数据类型包括
byte short int long float double char boolean 外加一个String

而对象还有数组都是引用传递, 这个C#还要多一个结构(Struct)
第4个回答  2012-04-15
有关java的问题,这里都有很详细的讲解,你可以参考一下,方法有很多
参考资料:http://www.baidu.com/s?wd=%B1%B1%B7%E7%CD%F8&rsv_bp=0&rsv_spt=3&inputT=131

C#值传递和引用传递的理解
bool bl2 = object.ReferenceEquals(strb1,strb2); \/\/true为引用类型参数传递分值传递和引用传递两种。通常,在没有显式指出ref和out时都是值传递。值传递:传的是对象的值拷贝。(即函数内参数对象是调用时传递对象的栈中对象的拷贝。)引用传递:传的是栈中对象的地址。(即函数内参数对象与调用时传...

C#中 引用参数和输出参数有什么不同?他们以什么方式传递?
一个用关键字REF标示,一个用OUT标示。牵扯到数据是引用类型还是值类型。一般用这两个关键字你是想调用一个函数将某个值类型的数据通过一个函数后进行更改。传OUT定义的参数进去的时候这个参数在函数内部必须初始化。否则是不能进行编译的。ref和out 都是传递数据的地址,正因为传了地址,才能对源数据...

C#值传递和引用传递是什么分别有什么作用
1、在修改变量本身时,结果类似于值传递,即不会改变传递前的变量的值 2、在修改变量的属性或字段时,才是引用传递,会影响到传递前的变量的值 3、参数使用了ref后,才是真正的引用传递,不管修改变量本身还是修改变量的属性或字段,都会影响到传递前的变量的值 值传递:传的是对象的值拷贝。(即函数...

c#数组是值传递还是引用传递
After calling method: 1,100,3 可以看到,在 `ModifyArray` 方法中更改数组的第二个元素也影响到了原始数组,因为数组传递的是其引用。需要注意的是,即便数组是引用类型,在某些情况下仍然需要使用 ref 或 out 关键字来更改原始数组。例如,在方法内创建一个新数组并将其分配给传递进来的数组变量时...

C#中值传递 和引用传递的区别在哪里 什么是值专递 什么是引用传递 来...
{ i = 10;} public void 参数引用传递方法(ref int i){ i = 10;} 然后调用的 Main 方法:public static void Main(string[] args){ int a = 30;参数值传递方法(a);Console.WriteLine("a = {0}", a);参数引用传递方法(a);Console.WriteLine("a = {0}", a);} 输出结果如下:30...

c#中 传递引用 引用传递 两个词应该如何理解?请c神尽量详细回答 跪谢...
传递引用顾名思义就是把引用作为参数传过去,引用传递是把值类型对象用ref修饰传递,即通过引用传递值类型,也就是说传递值(变量)的引用。

C# 中关于引用类型和值类型的问题
【杨中科老师的视频里】写:int、char、bool、datetime等类型都属于值类型,赋值时是值传递,传递一份拷贝到新开辟的内存空间里。 类的实例化对象则是引用类型,赋值的时候是引用传递。【c#高级编程第七版里】里写:在C#中,引用类型用类定义,值类型用结构定义。要声明引用类型,C#和Visual Basic ...

C语言中的值传递和址传递.
都是值传递,真正的引用传递是出现在C#中,当你传指针的时候,实际上你传的是指针所指向的地址值,也就是把地址值传过去,但是这个地址值也是通过值传递过去的,即函数内的指针指向的地址值是原来的地址值的一个拷贝,但是由于地址值相同,所以你在函数内对该指针进行解指针并进行修改,你也修改了外部...

JAVA 于C#的区别及联系!
25.传值方式:在java中简单数据类型的值传参时,都以传值方式;在c#中如果加ref则会以引用的方式传值(方法内部改变该参数,则外部变量一起跟着变);加out与ref基本相同,但out不要求参数一定要初始化.26.c#保留了指针。unsafe 27.代理:代理(delegate)可以看作C++或者其他语言中的函数指针 代理用来...

从“跨平台就是一种谎言”说起C#和Java的区别
在C#中,常量可以用const关键词声明 C#的设计者还增加了readonly关键词,readonly域只能通过初始化器或类的构造函数设置 8.公用类的入口点:c#是可以对Main进行重载(java中是main),允许有int返回值和空参数的Main 9.在Java中,switch语句只能处理整数。但C#中的switch语句不同,它还能够处理字符变量。请考虑下面用...

相似回答
大家正在搜