using System.Collections.Generic;
public static void Main()
Experiences = new List<Experience>{
Title = "Application Developer",
Date = new DateTime(2014,12,1),
Console.WriteLine("Hello World, {0}", resume.Personal.Name);
foreach(var exp in resume.ExperiencesByDate())
Console.WriteLine("Experience : " + exp.Title);
Console.WriteLine("Number of a : " + exp.Title.HowManyA());
var nameList = new List<Namer>();
foreach(var n in nameList)
Console.WriteLine(n.Name());
var f = new List<Func<int,int>>()
Console.WriteLine(f[1](f[1](f[2](4))));
static string GiveMeMyName(string name)
public class Resume : Namer
public Personal Personal {get; set;}
public List<Experience> Experiences {get; set;}
public IEnumerable<Experience> ExperiencesByDate(){
return Experiences.OrderByDescending(s => s.Date);
public string Title {get;set;}
public DateTime Date {get;set;}
public string Name {get;set;}
public static class StringExtensions
public static int HowManyA(this string str)
return str.Count(c => new[] {'a','A'}.ToList().Contains(c));