public void GetCharacters() { Random gen = new Random(); int id; if (GoodCharacters.Count < 9 || BadCharacters.Count < 9) { id = gen.Next(1, 730); if (GoodCharacters.Where(x => Convert.ToInt32(x.Id) == id).Count() == 0 && BadCharacters.Where(x => Convert.ToInt32(x.Id) == id).Count() == 0) { Character character = ApiRequest.GetCharacter(id); _mut.WaitOne(); cpt++; _mut.ReleaseMutex(); if ((character.Biography.Alignment == "good") && !GoodCharacters.Contains(character) && GoodCharacters.Count < 9) { _mut.WaitOne(); GoodCharacters.Add(character); _mut.ReleaseMutex(); } else if ((character.Biography.Alignment == "bad") && (!BadCharacters.Contains(character) && BadCharacters.Count < 9)) { _mut.WaitOne(); BadCharacters.Add(character); _mut.ReleaseMutex(); } } } }
static bool isBadCharacter(char c) { return(BadCharacters.IndexOf(c) != -1); }