none
(int) RRS feed

  • Pergunta

  • Olá pessoal.

    Eu estou vendo alguns projetos aqui, e grande parte me apareceu esse (int), então resolvi pesquisar sobre ele, mas não achei nada! Alguem poderia me dizer para que ele serve, um exemplo dele abaixo:

    int platform = (int)Environment.OSVersion.Platform;

    Outra coisa que não entendi foi a variavel ser declarada como int, e o valor dessa variavel como (int).

    _____________

    Mais uma coisa que testei aqui, eu coloquei:

    string platform = Convert.ToString(Environment.OSVersion.Platform);
    e me retornou Win32NT
    Depois eu coloquei:
    int platform = (int)Environment.OSVersion.Platform;
    e me retornou 2

    Meu deus! O que esse "negocio" que não sei o nome faz?


    Abraço.
    sexta-feira, 30 de outubro de 2009 02:40

Respostas

  • Isso é o que chamamos de CAST que converte o valor de um tipo de dado para outro.

    A regra para o cast é: o casting não modifica o valor que está sendo feito o cast; porém, a variável que vai receber o valor receberá no formato de seu tipo já convertido, e aí sempre que você tiver um tipo de dado mais abrangente como de um inteiro para um double, o cast explicito não será necessário, 
    mas se for tentar fazer uma conversão direta de double para inteiro o cast será necessário.

    por exemplo se tenho um tipo inteiro e tento guardar numa variável double, o compilador grava numa boa pois o double é mais abrangente que um int

    mas se você tentar gravar um tipo mais abrangente num tipo menos abrangente, você tem de falar para o compilador,  sei que o double não cabe no int
    mas eu sei que o valor que estou passando do double para o int caberá tranqüilamente, 
    "-compilador fica tranquilo que eu sei o que estou fazendo."


    Referente ao string platform = Convert.ToString(Environment.OSVersion.Platform); 
    Platform é um Enumerado 

    Então de acordo com uma declaração de um enum

    enum alfabeto {A,B,C }

             String A =Convert.ToString(alfabeto.A);
              int valor= Convert.ToInt32(alfabeto.A);            

                Console.WriteLine(A);
                Console.WriteLine(valor); 


    Devolve o texto A
    e o valor 0 (zero), posição Zero.


    Espero ter ajudado.





    Rudson Kiyoshi Souza Carvalho
    • Sugerido como Resposta Ari C. RaimundoModerator sexta-feira, 30 de outubro de 2009 16:30
    • Marcado como Resposta GuhMP sábado, 31 de outubro de 2009 01:16
    sexta-feira, 30 de outubro de 2009 03:56
  • int a = (int)Textbox1.Text;

    int a = Convert.ToInt32(Textbox1.Text);

    ambos fazem conversão de um tipo de dados (no exemplo string) para outro (no exemplo int)

    Isso se chama cast!
    • Marcado como Resposta GuhMP sábado, 31 de outubro de 2009 01:16
    sexta-feira, 30 de outubro de 2009 19:26

Todas as Respostas

  • Isso é o que chamamos de CAST que converte o valor de um tipo de dado para outro.

    A regra para o cast é: o casting não modifica o valor que está sendo feito o cast; porém, a variável que vai receber o valor receberá no formato de seu tipo já convertido, e aí sempre que você tiver um tipo de dado mais abrangente como de um inteiro para um double, o cast explicito não será necessário, 
    mas se for tentar fazer uma conversão direta de double para inteiro o cast será necessário.

    por exemplo se tenho um tipo inteiro e tento guardar numa variável double, o compilador grava numa boa pois o double é mais abrangente que um int

    mas se você tentar gravar um tipo mais abrangente num tipo menos abrangente, você tem de falar para o compilador,  sei que o double não cabe no int
    mas eu sei que o valor que estou passando do double para o int caberá tranqüilamente, 
    "-compilador fica tranquilo que eu sei o que estou fazendo."


    Referente ao string platform = Convert.ToString(Environment.OSVersion.Platform); 
    Platform é um Enumerado 

    Então de acordo com uma declaração de um enum

    enum alfabeto {A,B,C }

             String A =Convert.ToString(alfabeto.A);
              int valor= Convert.ToInt32(alfabeto.A);            

                Console.WriteLine(A);
                Console.WriteLine(valor); 


    Devolve o texto A
    e o valor 0 (zero), posição Zero.


    Espero ter ajudado.





    Rudson Kiyoshi Souza Carvalho
    • Sugerido como Resposta Ari C. RaimundoModerator sexta-feira, 30 de outubro de 2009 16:30
    • Marcado como Resposta GuhMP sábado, 31 de outubro de 2009 01:16
    sexta-feira, 30 de outubro de 2009 03:56
  • int a = (int)Textbox1.Text;

    int a = Convert.ToInt32(Textbox1.Text);

    ambos fazem conversão de um tipo de dados (no exemplo string) para outro (no exemplo int)

    Isso se chama cast!
    • Marcado como Resposta GuhMP sábado, 31 de outubro de 2009 01:16
    sexta-feira, 30 de outubro de 2009 19:26
  • Entendi perfeitamente, obrigado Daniel e Rudson. Eu vejo muito o CAST ser usado em uma consulta ao SQL.

    sábado, 31 de outubro de 2009 01:17