namespace FizBuzV2Multicollection
static void Main2(string[] args)
for (int i = 1; i <= 100; i++)
if (i % 3 == 0 && i % 5 == 0)
Console.WriteLine("fizzbuzz");
Console.WriteLine("fizz");
Console.WriteLine("buzz");
for (int i = 1; i <= 100; i++)
var rules = new Dictionary<Func<int, bool>, string>
{ x => x % 3 == 0, "Fizz" },
{ x => x % 5 == 0, "Buzz" },
for (int i = 1; i <= 100; i++)
var keys = rules.Where(r => r.Key(i)).ToList();
var values = keys.Select(x => x.Value);
var res = string.Concat(values);
var result = string.Concat(rules.Where(r => r.Key(i)).Select(r => r.Value));
Console.WriteLine(string.IsNullOrEmpty(result) ? i.ToString() : result);