.Net代码格式化,衬里'

时间:2014-03-30 08:16:29

标签: c#

考虑这个人为的例子:

public static string ContrivedOne(Guid id, string host)
{
    Contact person = new Contact(host, id);
    DbRow record = new DbRow(host);
    string msg = string.Format("Hi, {0}", host);
    StuffItems stuff = GetStuff(id);
    string result = record.Save(person, stuff, msg);
    return result;
}


public static string ContrivedOner(Guid id, string host)
{
    return new DbRow(host).Save(new Contact(host, id), GetStuff(id), string.Format("Hi, {0}", host));
}

一切都是平等的,不考虑易读性等,它们之间的性能通常会有差异吗?

1 个答案:

答案 0 :(得分:1)

我可以看到的性能上的主要差异是什么时候放在堆栈上。

在第一个示例中,调用每个函数,并将其返回值放在堆栈中的局部变量中。在第二,它可能是" Save"函数调用将被推送,然后是参数中的每个函数(仍然存储到隐藏的局部变量中)。

所有这些细节当然都是由编译器决定的。就实际(阅读,显着)性能差异而言,你不会看到任何东西。