日期:2014-05-18  浏览次数:20727 次

out传递数据 和 return 返回数据 的效率比较
各位大虾,你们好:

主函数实现value=44,是调用Method_1效率高呢,还是调用Method_2效率高呢?为什么呢?

C# code

class OutExample
{
    static void Method_1(out int i)
    {
        i = 44;
    }
    static int Method_2( )
    {
        int i=44;
        return i;
    }
    static void Main()
    {
        int value;

        Method_1(out value);// value is now 44

        value=Method_2();  // value is now 44
        
    }
}



------解决方案--------------------
直接return的效率高,out是为了实现多返回值而设定的,还多了一步参数存储堆栈值的过程(多了一次内部赋值)
------解决方案--------------------
既然他在比较out和return,那肯定是有返回值,return一个值,也要进行一次赋值,不如out操作指针来的快
探讨

直接return的效率高,out是为了实现多返回值而设定的,还多了一步参数存储堆栈值的过程(多了一次内部赋值)

------解决方案--------------------
效率可以后考虑。

Return应该会是代码更清晰,更容易维护。