我想知道。在重复方法或使用唯一分配之间编写代码的最高效或最正确的方法是什么
// 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#
的东西。
最佳答案
如果值在整个过程中没有改变,即您的解决方案 2,则通常首选单一分配。这是因为重复该方法会增加调用和重新分配的时间开销调用该方法以获得相同结果。这种用途的第二个好处可能是代码量较少,因为您不需要多次编写 .Method()
。
但是,如果一个方法每次调用时都会产生不同结果,例如Random.Next()
,那么您必须重复该方法调用。
所以这里的关键是要知道方法重新调用是否会产生任何差异。
关于c# - 使用变量赋值与重复方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37450490/