TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

<< Back to C-SHARP

C# Predicate (Lambda That Returns True or False)

Use the Predicate type, which is a function type that always returns a bool value to mean true or false.
Predicate. A Predicate returns true or false. This C# type stores a method that receives 1 parameter and returns 1 value of true or false.ReturnTrue, False
Initial notes. This type is often used with lambda expression syntax. We can create a predicate by specifying a lambda expression and passing it to a method.Lambda
An example. We look at a program that uses 2 Predicate instances with the parameterized type of integer. The return value of Predicate types is always bool (true or false).

First: The Predicate variables are assigned to lambda expressions. At this point they are valid predicates.

Then: The program demonstrates how the Invoke method always returns true or false when it is called.

Syntax: The => syntax separates the arguments from the method bodies. The right-hand side is evaluated to a Boolean result.

Note: The two above lambdas return true if the argument is one, and if the argument is greater than four.

C# program that uses Predicate type instances using System; class Program { static void Main() { // // This Predicate instance returns true if the argument is one. // Predicate<int> isOne = x => x == 1; // // This Predicate returns true if the argument is greater than 4. // Predicate<int> isGreaterEqualFive = (int x) => x >= 5; // // Test the Predicate instances with various parameters. // Console.WriteLine(isOne.Invoke(1)); Console.WriteLine(isOne.Invoke(2)); Console.WriteLine(isGreaterEqualFive.Invoke(3)); Console.WriteLine(isGreaterEqualFive.Invoke(10)); } } Output True False False True
List. Predicate is often used with the List generic type. You can specify a lambda expression as the argument to certain List methods. The C# compiler then uses type inference.ListRemoveAllList Find, Exists

Here: We create a string array of 3 elements. Each string in the array has at least 4 characters.

TrueForAll: We pass a lambda expression to TrueForAll, which receives a Predicate instance. The return value is a bool.

Result: The Predicate returns true if the string has 3 or more chars. This is true for all items in the array, so TrueForAll returns true.

C# program that uses Predicate, List method using System; using System.Collections.Generic; class Program { static void Main() { var items = new List<string> { "compiler", "interpreter", "file" }; // Use TrueForAll with a predicate. if (items.TrueForAll(item => item.Length >= 3)) { Console.WriteLine("PREDICATE TrueForAll"); } } } Output PREDICATE TrueForAll
Notes, lambda parsing. The right-hand side of a lambda acquires an implicit return value if this is indicated by the context. A Predicate must always have a Boolean return value.
Concept. The concept of predicate functions is explored in the book Structure and Interpretation of Computer Programs. Predicates are described as functions that must return true or false.

Note: The type Predicate in the .NET Framework adheres to this definition. It is a specific implementation of the concept.

A summary. The term "predicate" has wide applicability in computer science. In C#, predicates are specified with lambda expressions where the result value is of type bool.
© TheDeveloperBlog.com
The Dev Codes

Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf