4
respostas

Erro CS0128

Segui tudo o que foi feito nos vídeos e me aparece o erro CS0128 enquanto eu tento compilar o arquivo Inteiros.cs. Este erro é referente ao arquivo TiposDeValor.cs. Como resolvo isso?

[CS0128: Uma variável de local ou função denominada ' idade' já está definida neste escopo.]

4 respostas

Boa tarde, provavelmente seu código não está idêntico ao da aula, pois o erro CS0128 costuma acontecer apenas quando o compilador detecta que você possui declarações de duas variáveis locais com o mesmo nome. Se vocÊ puder compartilhar o código para averiguarmos se possui um erro que você talvez não conseguiu identificar.

A própria Microsoft recomenda o artigo abaixo para correção da rejeição, talvez também possa estar lhe auxiliando.

https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/classes-and-structs/methods

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace certificacao_csharp_roteiro
{
    class TiposDeValor : IAulaItem
    {
        public void Executar()
        {
            int idade;
            idade = 30;
            Console.WriteLine(idade);

            int copiaIdade = idade;

            Console.WriteLine($"idade: {idade}");
            Console.WriteLine($"copiaIdade: {copiaIdade}");

            int idade = 23;  //O erro acontece nessa linha

            Console.WriteLine($"idade: {idade}");
            Console.WriteLine($"copiaIdade: {copiaIdade}");

            int? idade2 = null;
            System.Nullable<int> idade3 = null;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace certificacao_csharp_roteiro
{
    class TiposInteiros : IAulaItem
    {
        public void Executar()
        {
            int idade = 15;


            //O char internamente armazena números, por isso é um tipo inteiro.
            char resposta = 'S';// System.Char

            byte nivelDeAzul = 0xF; // = 255 em decimal 
                                    //nivelDeAzul = -3
            short passageirosVoo = 230; // System.Int16
            passageirosVoo = -7;
            int populacao = 1500; // SystemInt.32
            populacao = -2300;
            long populacaoDoBrasil = 207_660_929; // +/- 207 milhões - System.Int64

            sbyte niveldeBrilho = -127; //System.SByte
            ushort passageirosNavio = 230; // System.UInt16 
            uint estoque = 1500; // System.UInt32
            ulong populacaoDoMundo = 7_000_000_000; //7 bilhões = System.UInt64


            Console.WriteLine($"idade: {idade}");
            Console.WriteLine($"resposta: {resposta}");

            Console.WriteLine($"nivelDeAzul: {nivelDeAzul}");
            Console.WriteLine($"passageirosVoo: {passageirosVoo}");
            Console.WriteLine($"populacao: {populacao}");
            Console.WriteLine($"populacaoDoBrasil: {populacaoDoBrasil}");
            Console.WriteLine($"niveldeBrilho: {niveldeBrilho}");
            Console.WriteLine($"passageirosNavio: {passageirosNavio}");
            Console.WriteLine($"estoque: {estoque}");
            Console.WriteLine($"populacaoDoMundo: {populacaoDoMundo}");

        }
    }
}

O erro acontece no primeiro código que eu postei, quando eu tento compilar um ou o outro código. Uma outra coisa que peço pra analisarem se o jeito como eu estou usando o Visual Studio está correto. Quando eu baixei o arquivo das aulas eu executei todo o projeto de uma vez clicando no executável "certificacao-csharp-pt1.sln". E eu vi que nas vídeo aulas, até o momento tem só os dois arquivos abertos.