using System.Collections.Generic;
private static List<Resource> resources;
public static void Main()
resources = new List<Resource>()
new Resource() { ID = 0, Theme = Theme.Adult },
new Resource() { ID = 1, Theme = Theme.Hentai },
new Resource() { ID = 2, Theme = Theme.Adult },
new Resource() { ID = 3, Theme = Theme.Desu }
Console.WriteLine("--Searching by Adult--");
FindByTheme(Theme.Adult);
Console.WriteLine("--Searching by Adult and Desu--");
FindByTheme(Theme.Adult | Theme.Desu);
Console.WriteLine("--Searching by ALL--");
private static void FindByTheme(Theme? theme)
Console.WriteLine(string.Join(Environment.NewLine, resources));
Console.WriteLine(string.Join(Environment.NewLine, resources.Where(r => theme.Value.HasFlag(r.Theme))));
public Theme Theme {get;set;}
public override string ToString()
return string.Format("Resource ID = {0}, Theme = {1}", ID, Theme);