考虑下面的C#示例。哪个会更有效率? 我很想知道重复的'if'条件检查是否比直接赋值更昂贵。哪个更昂贵 - 总是赋值或检查空值,然后赋值
在我的代码中,我遇到了情况 - 每当用户请求被接收时,都会执行一段代码。我想设置一个特定的全局键值,我想用于后续日志记录(null会被记录直到有值)。问题是可以在任何无法确定的请求中接收密钥的值,一旦设置了,我不需要再设置该值。
下面的while循环只是为了模拟所有用户请求的重复代码执行。 '价值'属性将在一些请求中设置。
var data = new Dictionary<string, string>();
var value = null; // some data received from user that later set the value
var i = 0;
while (i < 1000)
{
if(data["key"] == null)
{
data["key"] = value;
}
}
vs
while (i < 1000)
{
data["key"] = value;
}
也许这可能有所帮助:http://stackoverflow.com/q/4586795/1693085和一个答案,也许:http://stackoverflow.com/a/4587052/1693085 – 2014-12-02 20:29:31
尝试两个和措施。然后你就会知道。 – Servy 2014-12-02 20:29:42
你必须测量它以确定它。 [如果你有两匹马,并且你想知道哪两匹马跑得快,那就马匹比赛。](http://ericlippert.com/2012/12/17/performance-rant/) – Habib 2014-12-02 20:30:34