FGV — Analista de Tecnologia da Informação - Desenvolvimento — Analise o código C# mostrado abaixo. namespace ConsoleApplication1 { class Program { — 2015
Banca
FGV
Órgão
TCE-SE
Prova
TCE-SE — Analista de Tecnologia da Informação - Desenvolvimento — 2015
Ano
2015
Disciplina
Tecnologia da Informação
Assunto
C# iteradores: yield return e yield break
Cargo
Analista de Tecnologia da Informação - Desenvolvimento
Enunciado
Analise o código C# mostrado abaixo. namespace ConsoleApplication1 { class Program { static IEnumerable XPTO(int from, int to) { for (int i = from; i < to; i+=3) { yield return i; } yield break; } static void Main() { foreach (int x in XPTO(-10, 10) { Console.WriteLine(x); } } } } O resultado exibido pelo programa é:
Alternativas
A)
-10
B)
-10, -7, -4, -1, 2, 5, 8
C)
-7, -4, -1, 2, 5, 8
D)
-7, -4, -1, 2, 5, 8, 11
E)
0
Gabarito e comentário
Resposta correta: B
O laço começa em −10, incrementa de três em três e para antes de 10. Os valores emitidos por yield return são −10, −7, −4, −1, 2, 5 e 8; yield break encerra a sequência.
O laço começa em −10, incrementa de três em três e para antes de 10. Os valores emitidos por yield return são −10, −7, −4, −1, 2, 5 e 8; yield break encerra a sequência.