public string GetMeme(MemeType type) { if (Directory.Exists(config.ImagesPath)) { var memesQuery = DirSearch(config.ImagesPath).Where(o => o.Contains($"{type.ToString().ToLower()}")); if (pastMemes[type].Count >= memesQuery.Count()) { pastMemes[type].Clear(); } var m = memesQuery.Where(o => !pastMemes[type].Contains(o)).ToArray(); var meme = m.Length > 0 ? m[random.Next(m.Length)] : null; pastMemes[type].Add(meme); return(meme); } else { return(null); } }