Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 我们可以使用DefaultIfEmpty显示默认图像吗?_C# 4.0 - Fatal编程技术网

C# 4.0 我们可以使用DefaultIfEmpty显示默认图像吗?

C# 4.0 我们可以使用DefaultIfEmpty显示默认图像吗?,c#-4.0,C# 4.0,我有一个相册任务,我需要显示数据库中的图像。假设数据库中没有匹配的图像,我可以使用DefaultIfEmpty选择默认图像吗?编辑:已具有合适的重载 您不能为FirstOrDefault()提供默认值,但可以始终使用: // Select the first image, or a default otherwise var image = query.FirstOrDefault() ?? defaultImage; 或者您也可以编写自己的FirstOrDefault重载,当然它接受默认值。

我有一个相册任务,我需要显示数据库中的图像。假设数据库中没有匹配的图像,我可以使用
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;
}
public static T FirstOrDefault(此IEnumerable源代码,
T默认值)
{
//当然,这只会迭代一次。
foreach(源中的T项)
{
退货项目;
}
返回默认值;
}
编辑:已具有合适的重载

您不能为
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;
}
public static T FirstOrDefault(此IEnumerable源代码,
T默认值)
{
//当然,这只会迭代一次。
foreach(源中的T项)
{
退货项目;
}
返回默认值;
}

为什么不能在此处使用DefaultIfEmpty?DefaultIfEmpty不是已经有了过载吗?@nawfal:看起来确实有。但是FirstOrDefault不能。为什么不能在这里使用DefaultIfEmpty?DefaultIfEmpty不是已经有了过载吗?@nawfal:看起来确实有。但FirstOrDefault没有。