【发布时间】:2017-07-04 23:41:45
【问题描述】:
我正在查看 C# 7.0 中的 this code 示例,但我不确定引擎盖下发生了什么以及此循环的性能。
foreach (var c in text ?? throw new ArgumentNullException(nameof(text)))
{
...
}
我的问题:
- 条件语句是否被命中一次或多次(在 每次迭代)?
- 新语法看起来不同,这样做有什么好处?
【问题讨论】:
-
你测试的时候对性能有什么影响?你做了测试,不是吗?请解释为什么您的测试不足以让您自己理解问题的答案。修正您的问题,使其包含一个很好的minimal reproducible example,清楚地显示您的测试方式,并详细说明您仍然无法理解您的测试的具体内容。
-
一次。如果
text为空,则条件语句被命中一次,这应该是合乎逻辑的,无需解释。如果它正在循环,它也将是一次,因为正在循环遍历枚举器。 -
@PeterDuniho 我不确定这个问题是如何被错误地提出来的。
-
@Svek - Peter 建议您在发布之前测试代码,然后向我们展示您的测试代码、结果等,然后提出您的问题。相反,您提出了一个问题并希望我们进行测试。
标签: c# null-coalescing-operator c#-7.0