Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.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# lambda表达式函数_C#_Lambda - Fatal编程技术网

C# lambda表达式函数

C# lambda表达式函数,c#,lambda,C#,Lambda,我有以下代码: int pictureId=10; string cacheKey = string.Format(ModelCacheEventConsumer.PICTURE_URL_MODEL_KEY, pictureId); return _cacheManager.Get(cacheKey, () => { var url = _pictureService.GetPictureUrl(pictureId, showDefa

我有以下代码:

int pictureId=10;
string cacheKey = string.Format(ModelCacheEventConsumer.PICTURE_URL_MODEL_KEY, pictureId);
        return _cacheManager.Get(cacheKey, () =>
        {
            var url = _pictureService.GetPictureUrl(pictureId, showDefaultPicture: false);
            //little hack here. nulls aren't cacheable so set it to ""
            if (url == null)
                url = "";

            return url;
        });
这部分代码的确切含义是什么:

这是否意味着对缓存中的每一行执行返回URL的函数?那么返回类型列表是什么

此语法文档的URL

这部分代码的确切含义是什么

它只是通过参数传递一个方法

这是否意味着对缓存中的每一行执行返回URL的函数

只有对象
\u cacheManager
的方法
Get
的内容才能回答此问题

什么是返回类型列表

返回类型是字符串,因为变量
url
是字符串

这部分代码的确切含义是什么

它只是通过参数传递一个方法

这是否意味着对缓存中的每一行执行返回URL的函数

只有对象
\u cacheManager
的方法
Get
的内容才能回答此问题

什么是返回类型列表


返回类型是一个字符串,因为变量
url
是一个字符串。

cacheManager的第二个参数。Get()方法是一个匿名方法,用于捕获pictureId和其他内容


要想找出返回的类型,请尝试使用var关键字并创建一个本地变量:而不是
return u cacheManager.Get()
write
var x=\u cacheManager.Get()
后面跟着
return x
。然后简单地将鼠标悬停在Visual Studio中的关键字var上。

第二个参数到cacheManager.Get()方法是一个匿名方法,用于捕获pictureId和其他内容

要找出返回的类型,请尝试使用var关键字并创建一个局部变量:而不是
return\u cacheManager.Get()
write
var x=\u cacheManager.Get()
,然后在Visual Studio中将鼠标悬停在关键字var上

这部分代码的确切含义是:

() =>
{"
   var url =...."
lambda表达式是delegate的“快捷方式”,delegate是对回调函数的引用(在一个非常简单的解释中)。因此,这是一个函数,将在缓存管理器的
Get
方法中调用,该方法希望将
Func
delegate作为第二个参数

这是否意味着对缓存中的每一行执行返回URL的函数

我认为它将对键值与
cacheKey
变量值相同的行执行。因此,只执行一次(如果键值是唯一的)

什么是返回类型列表

返回类型是string,因为如果
GetPictureUrl
的结果为null,则返回空字符串。调用此方法也希望结果中包含字符串

这部分代码的确切含义是:

() =>
{"
   var url =...."
lambda表达式是delegate的“快捷方式”,delegate是对回调函数的引用(在一个非常简单的解释中)。因此,这是一个函数,将在缓存管理器的
Get
方法中调用,该方法希望将
Func
delegate作为第二个参数

这是否意味着对缓存中的每一行执行返回URL的函数

我认为它将对键值与
cacheKey
变量值相同的行执行。因此,只执行一次(如果键值是唯一的)

什么是返回类型列表


返回类型为字符串,因为如果
GetPictureUrl
的结果为空,它将返回空字符串。调用此方法也希望结果中包含字符串

什么类型是\u cacheManager?\u cacheManager实现ICacheManager IDisposable接口,该接口将方法Get定义为:T Get(字符串键);什么类型是_cacheManager?_cacheManager实现ICacheManager IDisposable接口,该接口的方法Get定义为:T Get(字符串键);抱歉,我的意思是Get方法返回的变量是什么类型,如字符串列表或字符串数组。@Simon只能通过查看方法Get内部或将鼠标移到方法上来回答它(如果您使用的是Visual Studio)。返回类型将为您显示抱歉,我的意思是什么类型是从Get方法返回的变量,如字符串列表或字符串数组。@Simon只能通过查看方法Get内部或将鼠标移到方法上来回答它(如果您使用的是Visual Studio)。返回类型将为您显示