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

c#, contains, string, vb.net

Solution

`FirstOrDefault` takes a delegate (a `Func<T, bool>`) and this call is creating a delegate from the method group. It's equivalent to:

Func<string, bool> predicate = path.Contains;
return knownSeparators.FirstOrDefault(predicate);

I suspect in VB.NET you could do:

Return knownSeparators.FirstOrDefault(AddressOf path.Contains)

... but I couldn't tell for sure without trying it.

Problem

I've stumbled upon this code: ``` var knownSeparators = new[] { "\\", "/", "|", "." }; return knownSeparators.FirstOrDefault(path.Contains); ``` where path is a string and the return value should be a string as well. Allthough path.Contains' intellisense suggests a parameter, it works fine without one. How does this work exactly? Is there any way to copy this behavior in vb.net?

Original source