using System.Collections.Generic;
using static System.Console;
public static void Main()
public static void NestedFunctions()
WriteFeatureHeader("Nested functions", "Small helper functions available only in the scope of parent function");
WriteLine($"Sum of {x} and {y} is : {x + y}");
void Multiply(int x, int y)
WriteLine($"Multiply of {x} and {y} is : {x * y}");
public static void EnhancedTuples()
WriteFeatureHeader("Enhanced Tuples", "Declare tuples inline");
var numbers = new List<int> {5, 10, 45, 23};
var aggregate = Aggregate(numbers);
static (int count, int sum, double avg) Aggregate(IEnumerable<int> numbers)
int count = numbers.Count();
return (count, sum, avg);
public static void WriteFeatureHeader(string name, string description)
Console.WriteLine("==============================");
Console.WriteLine($"{name}".ToUpper());
Console.WriteLine($"{description}");
Console.WriteLine("==============================");