gpt4 book ai didi

c# - string.Contains 作为谓词而不是函数调用?

转载 作者:可可西里 更新时间:2023-11-01 03:06:33 24 4
gpt4 key购买 nike

我在 SO 上找到了这个代码示例(不记得从哪里 :/),它允许我在启动我的应用程序时检查行代码参数:

if (e.Args.Length == 0 || e.Args.Any("-show".Contains))
{
//show interface...
}

我似乎无法理解 "-show".Contains 是如何工作的。如果与(经典)x => x.Contains('"-show") 有任何区别(明显的打字增益除外)。

很有魅力,但我想知道为什么,我觉得有大事要发生。

最佳答案

这个:

.Any("-show".Contains)

基本上是这个的简写:

.Any(s => "-show".Contains(s))

Any 方法将委托(delegate)作为参数,您可以通过多种方式创建该委托(delegate)。第一个片段使用方法组,而第二个片段使用 Lambda。

说第一个是第二个的简写并不准确,因为方法组早于 Lambdas,但是如果您在调用像 Any 这样的 LINQ 方法时从 Lambdas 的角度考虑,那么实际上就是这种情况.

关于c# - string.Contains 作为谓词而不是函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50151098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com