永发信息网

C#的值传递和引用都怎么用?a

答案:3  悬赏:80  手机版
解决时间 2021-03-21 09:43
C#的值传递和引用都怎么用?a
最佳答案
C#中有两种类型(Type),值类型(Value Type)如int,float等;引用类型(Reference Type)如string这样的类型;对于值类型,默认按值传递(即在方法中生成这个变量的一个拷贝进行处理,变量的原始值在方法返回后不变);引用类型,则默认按引用引用传递。如果要让值类型以引用方式传递,则要使用ref关键字,如:
class RefExample
{
static void Method(ref int i)
{
i = 44;
}
static void Main()
{
int val = 0;
Method(ref val);
// val 现在的值变为 44
}
}
使用ref时,变量必须先初始化,如果不想初始化,可以使用out关键字来代替ref,作用是一样的。

上面的例子中对val进行了初始化。在有的程序中,只想使用引用的传递方式从方法中返回一个值,如果用ref,需要初始化这个值,这显得有点不合理,这时可用out:
class OutExample
{
static void GetSomeMethod(out int i)
{
i = 44;
}
static void Main()
{
int val; // 这个val值不初始化也不会出错
GetSomeMethod(out val);
// val 现在的值为 44
}
}
全部回答
request.getParameter("a");
JAVA中没有C#中的ref关键字...
具体使用方法是在参数前面加上ref
void test(ref int a,ref int b)
{
.......
}
同是在使用时
int a = 1;
int b = 1;
test(ref a,ref b);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
你要学会放好以前的渴望,远距离的欣赏近距离
如何加强对青少年的爱国主义情感教育
缤字五行属什么?为什么我查到的是属木?
情之起,一往深,而至挚
路桥区成人中专,。路桥职教中心。椒江二职。
打印机慢反应太慢了,要几分钟才能打印出来。
鼎盛商贸行地址在哪,我要去那里办事
古法养生堂的微信号是多少
怎样做才能恢复视力
c51编程时怎么安回车键时让下一行开始位置对
曹家洼在什么地方啊,我要过去处理事情
如何判断一个晶体是离子晶体,分子晶体还是原
封釉和镀膜哪个好
北京六里桥车站到昌平沙河北京科技经营管理学
x战警逆转未来 金刚狼会回来后是哪一年 肯定
推荐资讯
几家岭地址在哪,我要去那里办事
值的繁体字是几画
平时汽车经常打的蜡是什么蜡?硬壳蜡还是啥蜡
为什么我男朋友靠我很近我不会害怕,可是其他
微电影阿嬷的童谣落幕字幕
大房身邮政支局这个地址在什么地方,我要处理
大家一般去哪里玩在线德州扑克呢?
LOL怎么解除锁屏?
为什么我手机在火车上信号是满格的可是上网速
章飞一绝祛斑中心怎么去啊,有知道地址的么
魔兵传奇桃乐丝同人
广州市哪里有卖收藏邮票的?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?