使用变量赋值与重复方法

时间:2016-05-26 02:19:11

标签: c# string performance

我想知道。在重复方法或使用唯一赋值和

之间编写代码的最佳性能或正确方法是什么
 // Solution 1
 if (!string.IsNullOrEmpty(Files[m].Trim()))
 {
     Attachment oAttch = new Attachment(Files[m].Trim());
     Msg.Attachments.Add(oAttch);
     Log.LogAttachment(Files[m].Trim());
 }

 // Solution 2
 string file = Files[m].Trim();
 if (!string.IsNullOrEmpty(file))
 {
     Attachment oAttch = new Attachment(file);
     Msg.Attachments.Add(oAttch);
     Log.LogAttachment(file);
 }

我更喜欢解决方案2而且我认为这是编写代码的正确方法。但我想知道我是否遗漏了一些我不了解编译器的内容,关于C#

1 个答案:

答案 0 :(得分:2)

单个分配主要是首选i f值在此过程中不会改变,即您的解决方案2.这是因为重复该方法会增加调用和重新启动的时间开销调用相同结果的方法。这种用法的第二个好处可能是代码量较少,因为您多次写入.Method()

但是如果一个方法在每次调用时产生不同的结果,比如Random.Next(),那么你必须重复调用方法。

所以这里的关键是要知道方法重新调用是否会产生任何差异。