c# arrow function code example

Example 1: c# shorten an definition

//Full defenition
bool IsEven(int num)
{
  return num % 2 == 0;
}

//Can be rewritten as:
bool isEven(int num) => num % 2 == 0;

//This can only work with one expression methods

Example 2: c# lambdas

//Lambdas are just short handed anonymous method or functions usally 
//for use in passing to other methods or functions to call such as a sort.
//Example:
//The Lambda used here after the =s
Action ExampleContainerForDelagate = ()=>
	{/*Do something such as this example*/
    	Console.WriteLine("Hello world");
	};
//has been shorted from this anonymous delegate or method.
Action ExampleContainerForDelagate = delegate () { Console.WriteLine("Hello world"); };
//And this full (named) method signature method passing
Action ExampleContainerForDelagate = ExampleMethod;
void ExampleMethod()
{ Console.WriteLine("Hello world"); }
//usage example
List<int> ExampleList = new List(){1,3,0};
ExampleList.Sort((x,y)=>{return x - y; });
//The Sort will sort based on the return values from the Lambda passed.
//a negative will be seen as a smaller than the next number
//a 0 will be seen as equal
//and a positive will be seen as bigger than the next number
//by switching x and y postion in the 'return x - y;' you will effectively 
//change the sort to descending order. This is there for useful for sorting 
//based on needs or where it is not obvious how to sort.

Example 3: c# arrow

// Make a new lambda function
Func<string, string> greet = (name) => $"Hello, {name}!";

// Call it
Console.WriteLine(greet("John"));