Здравей,
Тъй като не си дал код на класовете Pokemon и Trainer реших да импровизирам спрямо това което си писал в Main(). Основната ти грешка е използваш bool isUnique. Замених това с един Dictionary<string, Trainer> trainers - който пак държи уникални стойности. След корекцията (Judge 100/100), кода ти изглежда така:
Main() - https://pastebin.com/PbCksxgQ
Pokemon - https://pastebin.com/L3RT1RYP
Trainer - https://pastebin.com/GaJpvAdM
Ето и моето решение, ако ти е от полза: https://github.com/dobroslav-atanasov/CSharp-OOP-Basics/tree/master/02.DefiningClasses-Exercises/11.PokemonTrainer
Надявам се, че съм помогнал :)
Привет! Ако използваш речник, мисля че ще ти е доста по лесно да достъпваш трейнърите и да си правиш проверките. В речник от стринг и Trainer, така или иначе ще са ти уникални записите и не можеш да имаш две еднакви стойности за ключове. Броят на значките и здравето на покемоните съвсем спокойно могат да са интове. Добрата практика е ако имаш в класовете някакви листове, хешсетове и подобни колекции, да ги инициализираш още в конструктора. Наплясквам всичко от моя проект в Пейстбин, че имам ядове с VS и GitHub в момента. Ето малко код тук.