Я новичок в Лямбде и Делегатах. Я думаю, что мой вопрос не может быть хорошим вопросом, но я пытаюсь написать простой пользовательский предикат, который действует как встроенный предикат.
Итак, я собираюсь поделиться своим Кодексом: Пожалуйста, поделитесь со мной тем, где я собираюсь ошибиться:
Пример кода встроенного предиката:
namespace Built_In_Predicate
{
class Program
{
static void Main(string[] args)
{
List<string> _ListOfPlayers = new List<string>()
{
"James Anderson",
"Broad",
"foo"
};
// Method 1. Predicate and Anonymous function.
Predicate<string> _Predicate = delegate (string someString) { return someString.Length == 3; };
string result = _ListOfPlayers.Find(_Predicate);
Console.WriteLine("Result : {0}", result);
}
}
}
Попытка создать пользовательский предикат (код):
namespace CustomPredicate
{
class Program
{
// Delegate (Takes some string as a Input and return a Boolean.)
public delegate bool CustomPredicate(string someString);
static void Main(string[] args)
{
List<string> _ListOfPlayers = new List<string>()
{
"James Anderson",
"Broad",
"foo"
};
// Instance of CustomPredicate.
CustomPredicate customPredicate = delegate (string someString) { return someString.Length == 3; };
string result = _ListOfPlayers.Find(customPredicate); // its error.
}
}
}
Помощь будет оценена.