gpt4 book ai didi

c# - myval = (someconditon) 吗?一些值 : myval get optimized to not set the value in case it's false

转载 作者:太空宇宙 更新时间:2023-11-03 20:38:58 25 4
gpt4 key购买 nike

CPath = (CPath == null) ? Request.Path : CPath;

首先我希望 CLR 让我做 ? Request.Path 而不是创建一个 :

但我想问的是它会优化掉它吗?或者仍然分配。

最佳答案

好吧,我个人会这样写:

if (CPath == null)
{
CPath = Request.Path;
}

为了更清楚。另一种选择(如其他地方所述)是

CPath = CPath ?? Request.Path;

但是你为什么要关心是否有额外的作业呢?您真的认为这会对性能造成重大影响吗?

请注意,如果 CPath 是一个字段而不是局部变量,它可能会有所不同 - 因为 CPath 的值可能会在第一次检查和第二次检查之间发生变化第二次评估,以及评估和分配之间的再次评估。这是否会被注意到取决于缓存等,但它并不像最初看起来那么简单。

关于c# - myval = (someconditon) 吗?一些值 : myval get optimized to not set the value in case it's false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3880114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com