我们可以使用DefaultIfEmpty来显示默认图像吗?

时间:2010-12-01 09:21:10

标签: c#-4.0

我有一个专辑任务,我需要在数据库中显示图像。假设数据库中没有匹配的图像,我可以使用DefaultIfEmpty来选择默认图像吗?

1 个答案:

答案 0 :(得分:1)

编辑:DefaultIfEmpty已经有适当的超载。

您无法为FirstOrDefault()提供默认值,但您可以随时使用:

// Select the first image, or a default otherwise
var image = query.FirstOrDefault() ?? defaultImage;

或者您可以编写自己的FirstOrDefault重载,其中 接受默认值。像这样:

public static T FirstOrDefault<T>(this IEnumerable<T> source,
    T defaultValue)
{
    // This will only ever iterate once, of course.
    foreach (T item in source)
    {
        return item;
    }
    return defaultValue;
}