在学习Func <>语法时,我在一些示例中找到了以下部分代码:
public static class Lambda
{
public static int MyFunc(Func<string, int> func)
{
//some logic
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
样品来电:
var getInt = Lambda.MyFunc((url) => { Console.WriteLine(url); return 0; }
Run Code Online (Sandbox Code Playgroud)
而我的问题:
如果从未赋值(或者可能是?),为什么允许将带有this(url)的lambda表达式传递给func以上?像这样传递Func有什么意义?
编辑: 澄清我的问题.我只是想知道这个示例调用 - 如果无法启动值,编译器不禁止像上面那样传递字符串(使用lambda(url)=> {}).有没有任何例子可以用于传递像上面的字符串?
我试着理解什么是什么,但我有点困惑:
OpenStreetMap可以免费使用地图.此地图可能的API包括:
-OpenLayer
-MapQuest
Run Code Online (Sandbox Code Playgroud)
为什么OpenLayer在OpenLayer示例中使用MapQuest代码:http: //openlayers.org/en/v3.1.1/doc/quickstart.html
<script type="text/javascript">
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
})
],
view: new ol.View({
center: ol.proj.transform([37.41, 8.82], 'EPSG:4326', 'EPSG:3857'),
zoom: 4
})
});
</script>
Run Code Online (Sandbox Code Playgroud)
也许这个问题很奇怪,但我想知道为什么一个API使用其他人的表达?