簡體   English   中英

String.Contains不需要c#中的參數?

[英]String.Contains doesn't require parameters in c#?

我偶然發現了這段代碼:

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)

......但是如果沒有嘗試,我無法確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM