Thursday, 31 January 2019

Using Singleton in C#

Singleton is used in application when we want to store consistent unique data in an object disallowing creating a new instances of this object in the same time.

Here are the bullet points that defines Singleton.

  • cannot be instantiated (private constructor instead of public)
  • cannot be inherited (sealed class)
  • public static instance has to be available across the whole application
Singleton concept is quite popular in mobile apps and video games, less in web/desktop applications.

Here is a simple example of Singleton usage.

Wednesday, 30 January 2019

Understanding Predicate delegate with simple example in C#

Predicate is a delegate that always returns boolean value (True or False).

Predicate is used in conjunction with lambda expression.

Below example shows how can we simply replace static method with Predicate.

public class Program
 public static void Main()
  Predicate<int> isGreaterThan5Predicate = m => m > 5;
  Console.WriteLine("Using Predicate to determine condition - 4 is not greater than 5 hence: " + isGreaterThan5Predicate(4));
  Console.WriteLine("Using static method to determine condition - 6 is greater than 5 hence: " + isGreaterThan5(6));

 public static bool isGreaterThan5(int number)
  return number > 5? true: false;

Running above code will produce those messages in the console.

Using Predicate to determine condition - 4 is not greater than 5 hence: False
Using Predicate to determine condition - 6 is greater than 5 hence: True