小编RB2*_*RB2的帖子

在将值传递给C#中的方法时更改值类型

关于C#的基本手册规定,要在传递给另一个方法时更改值类型,必须使用outref关键字等.

例如:

int Loop(int counter)
{
   return(++counter);
}

void ClickIt ()
{
    int count = 0;
    for (int c1 = 0; c1 < 10; c1++) 
    {
        count = Loop(count);
        Console.Writeline(count);
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,ClickIt输出以下结果:1, 2, 3, 4, ... 10

在示例中,count(值类型),正在从方法传递ClickIt到方法Loop 而没有 outref正在被更改Loop.并且Loop然后返回count到调用方法ClickIt,其拾取的变化count.

所以,我的问题是:何时是值类型,当作为参数传递给另一个方法时,是否需要使用out或者ref可以更改该值?

c# methods parameter-passing value-type

0
推荐指数
1
解决办法
283
查看次数

标签 统计

c# ×1

methods ×1

parameter-passing ×1

value-type ×1