www.devmedia.com.br
[versão para impressão]
Link original: http://www.devmedia.com.br/articles/viewcomp.asp?comp=8089

Curso de .Net e C# - Parte IV

Veja neste artigo alguns temas relacionados a variáveis e como trabalhar com as elas.

Curso Completo de .Net e C# - Parte IV

Primeiros conceitos de como trabalhar com valores – O retorno

Olá amigos, mais uma vez estamos aqui para darmos prosseguimento em nosso curso e dessa vez tenho uma novidade, comprei um super micro [:D] o que me dá mais motivos de continuar estudando e trabalhando muito, então vamos ao serviço pois as prestações me esperam.

 

No artigo anterior tínhamos iniciado falar sobre variáveis e operadores, tema esse de grande importância no mundo da programação não somente quando se fala em C# e .Net, mas em qualquer linguagem digna de apreciação. Iremos abordar mais alguns temas relacionados a variáveis e como trabalhar com as elas.

 

No último artigo fizemos algumas operações matemáticas básicas que serviram para demonstrar como se trabalha com variáveis em C#. Entre as variáveis apresentadas estava a do tipo string que serve para o armazenamento de textos. Com esses tipos não podemos fazer cálculos matemáticos ou coisas que fujam do escopo de como se trabalha com palavras, isso ocorre semelhantemente ao mundo real onde não usamos palavras para fazer cálculos e nem vale citar as variáveis porque elas no fundo são de tipo numérico e não texto.

 

Quando apresentamos os operadores de C# também mostramos o operador +(adição / concatenação) que tem sua funcionalidade baseada no contexto onde ele é usado. Por exemplo, se eu tiver o valor 2 + 2 e eles forem um tipo numérico o resultado dessa operação será o número 4. Agora se eu fizer essa mesma operação, mas em vez de números os valores 2 fossem do tipo string o resultado retornado seria 22 em formato texto. Talvez você possa está imaginando como distinguir quando um valor está em formato texto ou numérico, isso é muito fácil é só definirmos o tipo desse valor na hora de declararmos a variável, veja o exemplo.

 

int a = 2; //Tipo Numérico (inteiro)

string b = “2”; //Tipo Texto (string)

 

Esses valores apesar de representarem o mesmo símbolo, o número 2, internamente trabalham de forma diferente. A variável de nome “a” é do tipo inteiro então o valor atribuído a ela sempre será numérico, ou seja, esse 2 é um número de verdade. Já quando trabalhamos com a variável “b” que é do tipo string temos que ter dentro dela um valor do tipo texto, mesmo sendo um número 2 o valor é tratado como texto, observe que o valor que vai dentro de uma variável do tipo string sempre vem entre aspas duplas (“”). São nesses casos que temos resultados diferentes ao trabalhar com o operador de adição. Existem outras funcionalidades que são atribuídas as variáveis dependendo do tipo que elas comportam, um bom exemplo é o método ToUpper() que transforma o valor associado ao método em maiúsculo, isso é impossível em uma variável do tipo numérico.

 

      using System;

      class Program

      {

          static void Main(string[] args)

          {

              //Declaração de variáveis do tipo texto

              string texto;

              //atribuição de valor a variável

10ª             texto = “DevMedia”;

11ª

12ª             //Imprimindo as variáveis no console

13ª                //utilizando o método ToUpper()

14ª             Console.WriteLine(texto.ToUpper());

15ª            

16ª             Console.ReadLine();

17ª         }

18ª     }                                                                                

Listagem 01. Exemplo do método ToUpper()

 

Quando estamos trabalhando com variáveis de tipo string é muito comum termos que fazer concatenações, ou seja, montar novas palavras ou frases com outras já existentes. Isso ocorre com muita freqüência, um bom exemplo disso é quando queremos montar textos personalizados de saudação na tela com o nome do usuário, quando nos deparamos com um caso desses precisamos concatenar a nossa saudação com o nome do usuário. A saudação já sabemos qual será, agora só resta descobrir o nome do usuário e juntar a nossa saudação. Para isso pedimos para o usuário digitar o nome e guardamos esse valor em uma variável e concatenamos com a nossa saudação e o resultado dessa operação é uma saudação personalizada com o nome do usuário.

 

      using System;

      class Program

      {

          static void Main(string[] args)

          {

              //Declaração de variáveis do tipo texto

              string saudacao = "Ola ";

                  string nome;        

10ª                //Mensagem para o usuário digitar o nome

11ª                Console.WriteLine("Por favor, digite seu nome: ");

12ª

13ª             //atribuição do valor digitado pelo usuário a variável

14ª             nome = Console.ReadLine();

15ª            

16ª                //Imprimindo as variáveis no console

17ª             Console.WriteLine(saudacao + nome);

18ª

19ª             Console.ReadLine();

20ª         }

21ª     }

Listagem 02. Exemplo de concatenação.

 

Nesse exemplo da Listagem 02 quando o programa for executado ele vai esperar o usuário digitar um valor e teclar ENTER, depois devolve o valor da variável chamada saudacao mais o valor digitado pelo usuário que foi guardado na variável chamada nome. Existem vários casos em que isso ocorre e com certeza um dia nos veremos frente a frente com um caso desses. Quando o caso é simples igual o exemplo que mostrei a utilização de um operador de concatenação ( + ) já resolve, mas existem casos onde irão ocorrer diversas operações dessa e com isso o rendimento do seu programa pode cair muito e como já comentamos um dos pontos mais importantes no mundo do desenvolvimento é criarmos softwares com bom desempenho que não exijam muito do computador dos nossos usuários. Sabendo da deficiência dessa operação com strings e conhecendo a necessidade de utilizar essa operação existe no .Net uma classe chamada StringBuild. Ela na verdade não é um tipo e sim uma classe, tema que veremos mais na frente nesse curso. Sua criação foi para sanar o problema de rendimento existente quando se trabalha com textos, ou seja, ela melhora o rendimento dessas operações.

 

Essa classe tem vários métodos especializados para se trabalhar com textos e iremos apresentar o exemplo de concatenação e deixarmos para você testar os demais.

 

      using System;

      class Program

      {

          static void Main(string[] args)

          {

              //Declaração da classe StringBuilder

              StringBuilder texto = new StringBuilder();

                 

                  //Método Append que concatena strings

10ª             texto.Append("DevMedia - ");

11ª             texto.Append("C# ");

12ª             texto.Append("Curso ");

13ª             texto.Append("Completo");

14ª               

15ª             //Imprimindo as variáveis no console

16ª             Console.WriteLine(texto.ToString());

17ª

18ª                Console.ReadLine();

19ª         }

20ª     }

Listagem 03. Exemplo de StringBuilder.

 

Este exemplo da Listagem 03 apresenta várias novidades que iremos abordar mais profundamente no decorrer do curso, mas quero que vocês notem como foi declarada a variável texto, existem algumas novidades e entre elas o uso da palavra chave new que é obrigatória nessa declaração.

 

Para terminarmos esse artigo sobre variáveis, entenda bem vou concluir somente o artigo pois o tema variável é muito amplo e prefiro ir desenrolando os demais tópicos no decorrer do curso com problemas práticos que facilitarão nossa melhor compreensão. O último tema abordado aqui serão os arrays (matrizes) que nada mais são do que variáveis que comportam diversos valores dentro de si. Sua utilização também é muito ampla e com certeza iremos usar constantemente em nossa vida de desenvolvimento.

 

A seguir está um exemplo de como se declarar e atribuir valores a uma variável array do tipo inteiro.

 

int[] numeros = new int[] { 1, 2, 3, 4, 5 };

 

Essa é a sintaxe básica de declaração e atribuição de valores de um array, veremos no próximo artigo quando vamos falar sobre as estruturas de repetição como melhor trabalhar com essa forma de variável, no momento iremos ficar só com a apresentação da mesma. Na Listagem 04 mostro como imprimir no console um valor desse nosso array.

 

      using System;

      class Program

      {

          static void Main(string[] args)

          {

              //Declaração do array do tipo inteiro

              int[] numeros = new int[] { 1, 2, 3, 4, 5 };

                 

                  //Imprimindo um valor do array

10ª             Console.WriteLine(numeros[1]);

11ª            

12ª             Console.ReadLine();

13ª        }      

14ª     }

Listagem 04. Exemplo para obter um valor do array.

 

Este exemplo é muito interessante pois apesar da sua simplicidade trás muitas novidades. Como já foi visto anteriormente declaramos um array do tipo inteiro e atribuímos valores ao mesmo, da mesma forma que fizemos esse exemplo com tipos inteiros poderíamos ter usado outros tipos, exemplo o tipo string. Devemos lembrar que quando trabalhamos com tipo de texto devemos declarar os valores entre aspas duplas (“”). Esse simples programa só imprime na tela um valor contido no array em análise, o fato curioso é que nesse exemplo o valor que será impresso na tela será o número 2. Isso mesmo, pois apesar de termos colocado o número 1 na nossa declaração o que na verdade fizemos foi dizer que queríamos o valor que está na posição 1 do array. Ai você pode me questionar então porque foi impresso o valor 2 e não o 1 que é o primeiro valor que declaramos. O que ocorre é que em C# como em outras linguagens os índices do array começam em 0(zero), ou seja, o valor 1 está no posição 0, o 2 na posição 1 e assim por diante. Essa é a característica principal de um array, guardar diversos valores dentro de si em posições(índices) diferentes e quando precisarmos do valor em questão só precisaremos dizer o nome da variável acompanhada do número do índice e obteremos o valor.

 

Com isso terminamos mais um artigo. Espero que tenham gostado e nos próximos artigos creio que conseguiremos tornar o curso ainda mais produtivo, pois como tenho dito estamos evoluindo. Sei que até agora os temas pareceram muito teóricos mesmo apresentando exemplos reais de utilização. Já nos próximos artigos iremos ver coisas que nos darão mais oportunidade de criarmos nossos primeiros programas produtivos e dá vida ao que aprendemos até agora. Obrigado a todos e qualquer dúvida entrem em contato comigo que na medida do possível estaremos ajudando. Até o próximo artigo...

Leia também



Thiago da Silva Pinheiro dos Santos (thi.santos83@gmail.com),trabalha com as linguagens C#, VB.Net, ASP.Net, ASP, Java, SQL 2000 / 2005, UML e XML. Estou desenvolvendo alguns projetos testes com o novo Framework .Net 3.0. Atualmen [...]