加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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建议一个参数,没有一个它可以正常工作.

这是如何工作的?
有没有办法在vb.net中复制此行为?

解决方法

FirstOrDefault接受一个委托(一个Func< T,bool>),这个调用正在从方法组创建一个委托.它相当于:
Func<string,bool> predicate = path.Contains;
return knownSeparators.FirstOrDefault(predicate);

我怀疑在VB.NET中你可以做到:

Return knownSeparators.FirstOrDefault(AddressOf path.Contains)

……但是如果没有尝试,我无法确定.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读