【发布时间】:2020-02-26 13:39:57
【问题描述】:
例如我可以写下一段代码
var key = ConvertToKey<TViewModel>();
var page = typeof(TView);
_ = _pages.TryAdd(key, page)
? true
: throw new InvalidOperationException($"ViewModel already registered '{key}'");
或者像这样
_ = _pages.TryAdd(ConvertToKey<TViewModel>(), typeof(TView))
? true
: throw new InvalidOperationException($"ViewModel already registered '{ConvertToKey<TViewModel>()}'");
我对运行时方面的区别感兴趣。从上面的例子中抽象出来,它的返回类型很简单。让我们假设有 100 或 1000 个类似的方法。哪个拼写更可取以获得更好的性能?毕竟在第二种情况下,结果也被保存下来以供传递。但没有像第一种情况那样显式创建变量。
也许这只是关于可读性?而且在一种情况下写一行很方便,在另一种情况下声明一个局部变量。
【问题讨论】:
标签: c# performance methods memory-management