关于c#变量:声明要返回的对象vs直接返回语句

Declaring an object to return vs direct return statements C#

本问题已经有最佳答案,请猛点这里访问。

嘿,我刚遇到一个函数,我很困惑,哪一个更好?

1
2
3
4
5
6
7
8
9
private static bool IsEqual(TypeABC output, TypeABC input)
{
    if( conditions....)
    {
       return true;
    }

    return false;
}

1
2
3
4
5
6
7
8
9
10
11
private static bool IsEqual(TypeABC output, TypeABC input)
{
    bool isEqual = false;

    if( conditions....)
    {
       isEqual = true;
    }

    return isEqual;
}

两人都做同样的事,但是

我想从任何角度了解它可能是编码标准、性能或垃圾收集。上面哪一个更好?为什么?

或者,如果它太通用而无法回答,那么每种代码的优点/缺点都要优于其他代码。

还建议我为这个问题贴上几个标签。


在性能或垃圾收集方面,这是一个非常无用的问题,因为您假设C编译器团队不只是将代码重新编译为IL版本:

1
2
3
4
private static bool IsEqual(TypeABC output, TypeABC input)
{
  return ( conditions....);
}