我对linq中的select方法有基本的了解。
TIMESTAMP_FORMAT(ivdat8,'YYYYMMDD')
这将创建一个整数10到19的数组。
对于一些现实生活中的问题,我需要使用原始数据的索引。
经过研究,我发现我可以做类似的事情
var arrayIndex = Enumerable.Range(10, 10).ToArray();
我知道我是物品本身,在这种情况下,我将是整数。
所以,只有两个问题
我怎么知道可以放在方括号内的参数的完整列表(如索引)。
在方括号中具有不同参数的另一个用例是什么。
答案 0 :(得分:0)
为更好地理解,您可以参考relevant document或在开发环境中使用智能代码完成。
答案 1 :(得分:0)
Select
...
(i, Index) => i * Index
...是lambda表达式,等效于匿名方法。如果您将以非匿名方式编写该方法,则它将看起来像这样:
int Calculate(int i, int Index) {
return i * Index;
}
当您要将方法作为参数传递时,相应的参数需要是与方法签名匹配的委托。给定的Calculate
网络方法,并且由于它们共享相同的签名,因此您的lambda表达式与Func<int, int, int>
delegate的签名者匹配。事实证明,Enumerable.Select<int, int>
为您提供了an overload with exactly this delegate,因此您可以使用lambda表达式。另一个(使用更广泛的)重载接受Func<int, int>
,即没有索引的版本。没有其他重载,因此您的lambda表达式中不能包含其他参数。