private static void ParseCsvExpression(string file) { var list = File.ReadAllLines(file) .Skip(1) .Select(f => ChessPlayer.ParseFideCsv(f)) .OrderByDescending(p => p.Rating).ThenBy(c => c.Country) .Take(10); foreach (var player in list) { Console.WriteLine(player.ToString()); } }
public static void ParseCsv(string file) { var list = File.ReadAllLines(file) .Skip(1) .Select(s => ChessPlayer.ParseFideCsv(s)) .Where(player => player.BirthYear > 1988) .OrderByDescending(player => player.Rating) .ThenBy(p => p.Country) .Take(10); foreach (var player in list) { Console.WriteLine(player); } }
public static void InsertData() { var fileLocation = Path.Combine(Directory.GetCurrentDirectory(), "ChessStats", "Top100ChessPlayers.csv"); var records = File.ReadAllLines(fileLocation) .Skip(1) .Select(s => ChessPlayer.ParseFideCsv(s)) .ToList(); var db = new ChessPlayerDb(); if (!db.chessPlayers.Any()) { db.chessPlayers.AddRange(records); } db.SaveChanges(); }
private static void ParseCsvExpression_First_Last_Single_Default(string file) { var list = File.ReadAllLines(file) .Skip(1) .Select(f => ChessPlayer.ParseFideCsv(f)) .OrderByDescending(p => p.Rating).ThenBy(c => c.Country) .Take(10); Console.WriteLine(list.First()); Console.WriteLine(list.Last()); Console.WriteLine(list.First(c => c.Country == "USA")); Console.WriteLine(list.Last(c => c.Country == "USA")); Console.WriteLine(list.FirstOrDefault(c => c.Country == "BRA")); Console.WriteLine(list.LastOrDefault(c => c.Country == "BRA")); Console.WriteLine(list.Single(c => c.Country == "FRA")); Console.WriteLine(list.SingleOrDefault(c => c.Country == "BRA")); }
public static void GroupByDemo(string file) { var players = File.ReadAllLines(file) .Skip(1) .Select(s => ChessPlayer.ParseFideCsv(s)) .Where(p => p.BirthYear > 1988) .Take(10) .GroupBy(p => p.Country) .OrderByDescending(g => g.Key) .ToList(); foreach (var player in players) { Console.WriteLine($"\nThe following players live in {player.Key}"); foreach (var p in player) { Console.WriteLine($"Player: {p.LastName}, Rating: {p.Rating} "); } } }
public static void SequenceEqual(string file) { var list = File.ReadAllLines(file) .Skip(1) .Select(f => ChessPlayer.ParseFideCsv(f)) .Where(p => p.BirthYear > 1988) .OrderByDescending(p => p.Rating).ThenBy(c => c.Country) .Take(10); var list2 = File.ReadAllLines(file) .Skip(1) .Select(f => ChessPlayer.ParseFideCsv(f)) .Where(p => p.BirthYear > 1988) .OrderByDescending(p => p.Rating).ThenBy(c => c.Country) .Take(10); bool areEqual = list.SequenceEqual(list2, new PlayerComparer()); Console.WriteLine($"Are collections equal? {areEqual}"); }
public static void JoinDemo(string file) { var players = File.ReadAllLines(file) .Skip(1) .Select(s => ChessPlayer.ParseFideCsv(s)) .Where(p => p.BirthYear > 1988) .Take(10) .ToList(); var tournaments = Tournament.GetDemoStats(); var join = players.Join(tournaments, p => p.Id, t => t.PlayerId, (p, t) => new { p.LastName, p.Rating, t.Title, t.TakenPlace, t.Country }); foreach (var item in join) { Console.WriteLine($"{item.LastName} took {item.TakenPlace} place at {item.Title}. Has " + $"rating {item.Rating}"); } Console.WriteLine("After Join"); var selectMany = join.GroupBy(c => c.Country) .SelectMany(g => g.OrderBy(grp => grp.TakenPlace)); foreach (var item in selectMany) { Console.WriteLine($"{item.LastName} took {item.TakenPlace} place at {item.Title}. Has " + $"rating {item.Rating}"); } }
public static void CsvToXml() { var fileLocation = Path.Combine(Directory.GetCurrentDirectory(), "ChessStats", "Top100ChessPlayers.csv"); var records = File.ReadAllLines(fileLocation) .Skip(1) .Select(s => ChessPlayer.ParseFideCsv(s)) .ToList(); var doc = new XDocument(); var players = new XElement("Players", records.Select(record => new XElement("Player", new XAttribute("Id", record.Id), new XAttribute("Rating", record.Rating), new XAttribute("BirthYear", record.BirthYear), new XAttribute("Country", record.Country), new XAttribute("Lastname", record.LastName), new XAttribute("Firstname", record.FirstName)))); doc.Add(players); doc.Save("ChessPlayers.xml"); }
public static void MinMaxSumAverage(string file) { var list = File.ReadAllLines(file) .Skip(1) .Select(s => ChessPlayer.ParseFideCsv(s)) .Where(p => p.BirthYear > 1988) .OrderByDescending(p => p.Rating) .Take(10) .ToList(); Console.WriteLine($"The lowest rating in top 10: {list.Min(x => x.Rating)}"); Console.WriteLine($"The Maxiumum rating in top 10: {list.Max(x => x.Rating)}"); Console.WriteLine($"The average rating in top 10: {list.Average(x => x.Rating)}"); var data = new List <int>() { 1, 20, 37, 93, 107, 509, 670, 35 }; var total = data.Sum(i => i); Console.WriteLine($"The Sum of the integers is : { total}"); }