using System.Collections.Generic;
public static void Main()
Console.WriteLine("Starting...");
var symbols = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".ToCharArray().ToList().ToDictionary(c => c, c => 0);
var guids = CreateGuids(10000);
foreach (var item in guids)
AnalyzeGuid(item, symbols);
var ordered = symbols.OrderByDescending(d => d.Value).Take(5);
Console.WriteLine("Results:\n");
foreach (var item in ordered)
Console.WriteLine("Rank: " + (++rank) + " - Letter: " + (item.Key.ToString()) + " - Count: " + (item.Value));
static List<string> CreateGuids(int amount)
var guids = new List<string>(amount);
for (int i = 0; i < amount; i++)
guids.Add(Guid.NewGuid().ToString().ToUpper().Replace("-", ""));
static void AnalyzeGuid(string guid, Dictionary<char, int> collection)
var chars = guid.ToCharArray();
for (int i = 0; i < chars.Length; i++)
if (collection.ContainsKey(chars[i]))