String.Contains不需要c#中的参数?
发布时间:2020-12-15 17:13:55 所属栏目:百科 来源:网络整理
导读:我偶然发现了这段代码: var knownSeparators = new[] { "","/","|","." };return knownSeparators.FirstOrDefault(path.Contains); 其中path是一个字符串,返回值也应该是一个字符串. 尽管path.Contains的intellisense建议一个参数,没有一个它可以正常工作
我偶然发现了这段代码:
var knownSeparators = new[] { "","/","|","." }; return knownSeparators.FirstOrDefault(path.Contains); 其中path是一个字符串,返回值也应该是一个字符串. 尽管path.Contains的intellisense建议一个参数,没有一个它可以正常工作. 这是如何工作的? 解决方法
FirstOrDefault接受一个委托(一个Func< T,bool>),这个调用正在从方法组创建一个委托.它相当于:
Func<string,bool> predicate = path.Contains; return knownSeparators.FirstOrDefault(predicate); 我怀疑在VB.NET中你可以做到: Return knownSeparators.FirstOrDefault(AddressOf path.Contains) ……但是如果没有尝试,我无法确定. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |