sách gpt4 ăn đã đi

Liệu if(items != null) trước foreach(T item in items) có dư thừa không?

In lại 作者:IT王子 更新时间:2023-10-29 03:39:07 28 4
mua khóa gpt4 giày nike

我经常遇到类似下面的代码:

if ( items != null)
{
foreach(T item in items)
{
//...
}
}

基本上,nếu như 条件确保只有当 mặt hàng 不为空时,foreach block 才会执行。我想知道是否真的需要 nếu như 条件,或者 foreach 将处理 items == null 的情况。

我的意思是,我可以简单地写吗

foreach(T item in items)
{
//...
}

不用担心 mặt hàng 是否为空? nếu như 条件是否多余?或者这取决于 mặt hàng củakiểu,或者也可能取决于 T?

câu trả lời hay nhất

你仍然需要检查 if (items != null) 否则你将得到 NullReferenceException。但是你可以这样做:

List items = null;  
foreach (var item in items ?? new List())
{
item.Dump();
}

但您可以检查它的性能。所以我还是更喜欢先有 if (items != null)。

根据 Eric 的 Lippert 建议,我将代码更改为:

List items = null;  
foreach (var item in items ?? Enumerable.Empty())
{
item.Dump();
}

关于c# - if(items != null) 在 foreach(T item in items) 之前是否多余?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6455311/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress