Segundo o gabarito a resposta correta é a D, mas ela não deveria levar em consideração a variável outraSelecao?
Se partimos do código abaixo a instancia 'selecao' não existe.
01 public class Selecao : IComparable
02 {
03 public string Nome { get; set; }
04 public int Campeonatos { get; set; }
05 public int ViceCampeonatos { get; set; }
06
07 public int CompareTo(object obj)
08 {
09 if (obj == null) return 1;
10
11 var outraSelecao = obj as Selecao;
12
13 //insira um código aqui
14
15 return resultado;
16 }
17 }
Neste momento todas as respostas estariam erradas.
int resultado = selecao.Campeonatos.CompareTo(this.Campeonatos);
if (resultado == 0)
{
resultado = selecao.ViceCampeonatos.CompareTo(this.ViceCampeonatos);
}
if (resultado == 0)
{
resultado = this.Nome.CompareTo(selecao.Nome);
}