如果在遍历一个IEnumerable对象时返回空值,可以使用以下几种方法来解决:
foreach (var item in collection)
{
if (item == null)
{
// 处理空值
}
else
{
// 处理非空值
}
}
foreach (var item in collection.Where(x => x != null))
{
// 处理非空值
}
foreach (var item in collection.OfType())
{
// 处理非空值
}
其中,T是集合中元素的类型。
foreach (var item in collection.NotNull())
{
// 处理非空值
}
其中,NotNull方法的实现如下:
public static class EnumerableExtensions
{
public static IEnumerable NotNull(this IEnumerable source)
{
foreach (var item in source)
{
if (item != null)
{
yield return item;
}
}
}
}
以上是几种常见的解决方法,根据具体的需求和情况选择适合的方法即可。