宿題について:キャスター(魔女(0)/妖精(1))がいて、魔法力(int)があります。それらをリストに保存しました。
私は両方のタイプの最良のものを見つけることです。(同じスペルパワーのキャスターが複数存在する可能性があります)このコードを思いついたのですが、問題があります。スペルパワーが最大のキャスターが1の場合、最初のFindAllは、タイプ0で、スペルパワーが最大のキャスターを見つけようとするため、何も返しません。全体的なスペルパワーが最も高いキャスターがタイプ1の場合、スペルパワーが最も高いタイプ0のキャスターを含むリストを取得するにはどうすればよいですか?
private List<Caster> BestCasters()
{
List<Caster> temp = new List<Caster>();
temp = casters.FindAll(x => x.SpellPower == casters.Max(y => y.SpellPower) && (x.TypeOfCaster == 0));
temp.AddRange(casters.FindAll(x => x.SpellPower == casters.Max(y => y.SpellPower) && (x.TypeOfCaster == 1)));
temp.OrderBy(x => x.TypeOfCaster).ThenBy(y => y.CasterName);
return temp;
}