segunda-feira, 26 de dezembro de 2011

Nova Característica - usando Var para Arrays

Tradicionalmente, você uma das seguintes formas para inicializar um arrays - estas formas são tão antigas quanto do C#(indo agora para seis anos de vida):
Formas Tradicionais de declaração do Arrays:
int[] numbers = new int [3];                           // Com tamanho mas sem inicialização ...
int[]  numbers =  new int  [] {1,2,3};             // inicialização mas sem por tamanho, ou ...        
int[]  numbers = new int [3] {1,2,3};             // Com por tamanho e inicialização, ou...
int[]  numbers = {1,2,3};                              // Sem a palavra reservada 'new' - forma extremamente curta.


O capítulo 2 sobre variáveis introduz a nova palavra chave var, a qual diz a compilador C#, "Você descubra o tipo de variável a partir da expressão do inicializador que estou fornecendo".
Felizmente o VAR funciona como Arrays também:


//myarrays é um int[] com 6 elementos.
var myarray = new [] {2,3,4,5,6,7};   //inicializador requerido!


A nova sintaxe tem apenas duas mudanças:


  • Usar Ver em vez da informação de tipo explicito para o Arrays Number no lado esquerdo da atribuição.
  • Omitir a palavra chave int antes dos colchetes no lado direito da atribuição. Essa é a parte que o compilador pode inferir
Note que a versão Var, o inicializador é requerido. Isso é o que o copilador usa para inferir o tipo dos elementos do Arrays sem a palavra chave int.
Aqui estão alguns exemplos:

var names = new [] {"john","PAul"}; // strings.

var average = new [] {3.0,3.34,4.0,2.0,1.8};  //Double.
var prez = new [] new President {'FDR'};  //Presidente.

..

domingo, 18 de dezembro de 2011

Videos sobre Arrays

Aprendendo Arrays na Videos Aula


Este videos é do canal do Youtube: Canal OpsVideo .

Array no C# (Vetores)



  • O Argumento para Arrays
Considera o problema de calcular a média de um conjunto de 6 números tipo ponto flutuante. Cada um dos seis números requerseu próprio Double para armazenamento com segue:

double d0 = 5;
double d2 = 2;
double d3 = 7;
double d4 = 3.5;
double d5 = 6.5;
double d6 = 8.5;

Capturar a média dessas variáveis pode se parecer com isto:

double sum  = d0 + d1 + d2 + d3 + d4 + d5 + d6;
double averang  =  sum / 6;

Listar cada elemento pelo nome é tedioso . OK, talvez não seja tão tedioso calcular a média de seis números mas imagine se for 600  ou até mesmo 6.000.000 valores do tipo ponto flutuante.

  • O Arrays de valor fixo
Felizmente, você não precisa nomear cada elemento separadamente. O C# fornece a estrutura de Arrays que pode armazena um sequência de valores. Usando um Arrays, você pode colocar todos os seus double em um unica variável, como segue:

double[] doublesArrays = {5,2,7,3.5,6.5,8,1,9,1,3};

Você também pode colocar arrays vazio sem iniciá-lo, assim:

double [] doublesArray  = new double[6];

A classe array na qual todos os Arrays em C3 são baseados, fornece um sintaxe especial que a torna mais conveniente de usar. Os colchetes em par[] referem-se á maneira que você acessa elementos individuais no Arrays, como segue:

doublesArrays [0] // corresponde a d0 ( isto é, 5).
doublesarrays[1]  // corresponde a d1 (isto é, 2).

O elemento 0º do arrays corresponde a d0, o 1º elemento a d1, o 2º a d2 etc. É comum se referi ao 0º elementocomo " doublearray sub-0", ou 1º elemento como " doublearray sub-1" e assim por diante.

Os números de elementos do Arrays -0,1,2,3 -são conhecidos como os índices.

//FixedArrayAvarege - Calcula a média de um banco de dados fixo de números usando um laço.

namespace  FixedArrayAvarege

{
      
      using System;

      public Class Program
      {
          public static void Main (string[] args)
             {

                       double [] doubleArrays = {2, 5, 6, 8, 7, 5.6, 2.3,9 ,7.5};
                       // acumula os valores do arrays dentro da soma da variável.
                        double sum = 0;   
                       For ( int i  = 0; i<10; i++) 
                         {
                               sum = sum +  doubleArrays[i];


                         }   

// Agora calcular a média.
double average =  sum /10;
console.WriteLine(average);
Console. WriteLine ("Pressione enter para terminar ...");
Console.Read( ) ;

             }
     }
}




quarta-feira, 7 de dezembro de 2011

Laço de Repetição em C#



Agora veremos um pouco de laço de repetição, onde precisamos executar um mesmo comando inúmeras vezes, algumas já predefinidas, outras que não sabemos ainda. Em vez de programarmos um comando para ser executado 10 vezes, por exemplo, podemos usar um comando de repetição, também conhecida como comando de laço  ou loop, para executar o loop de dez voltas. A palavra em C# WHILE introduz a forma de execução de um laço como segue:

while (expressão bool)
{

         // . . . repetidamente executado desde que a expressão seja verdadeira.

}

Quando o laço while é primeiramente  encontrado,a expressão bool é validada. Se a expressão for verdadeira o código dentro do bloco é executado. Quando o bloco de código alcança a chave de fechamento, o controle retorna para parte superior e o processo interior inicia novamente.

exemplo:
// Aqui começa a estrutura do programa.


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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {

//Aqui você informa e recebe um número

            int numero = 0;
            Console.WriteLine("insira um número:");
            string numerocalc = Console.ReadLine();
            numero = Convert.ToInt32(numerocalc);
             int i =0;

// Aqui começa o comando de repetição.
             while (i <= 10)
             {
                 numero += 1;
                 Console.WriteLine(numero);
                

                 i++;

             }
// Aqui é para  o console quando executado.
             Console.ReadKey( );

        }

        
    }
}

Do/While


O comando DO/WHILE tem o mesmo funcionamento que o comando WHILE, tendo como única diferença que mesmo que a variável tenha um valor maior do que o valor da condição, ele será executado ao menos uma vez.

Exemplo:
int num = 10;

do

{

    num += 5;

    Console.WriteLine("valor de número é: " + num);

}

while (num > 100);

    
No exemplo acima será efetuado a soma do número 5, mesmo que a condição num>100 seja falsa.
Podemos testar o processo invertendo a condição.

Exemplo:
int num = 10;

do

{

    num += 5;

    Console.WriteLine("valor de número é: " + num);

}

while (num < 100);




"Ajuda o teu semelhante a levantar a carga, mas não a levá-la."
Pitágoras


sexta-feira, 2 de dezembro de 2011

Executando o SWitchboard

Você frequentemente quer testar um variável para vários valores diferentes. Por exemplo, maritalStatus pode ser 0 para solteiro e 1 para casados, 2 para divorciado, 3 para viúvos,  ( acho que listei todos - oh, espere), ou quatro para não é da sua conta. Para diferenciar entre estes valores, você poderia usar as seguintes séries de instruções if:

If (maritalStatus = = 0)
{
    // Deve ser Solteiro ...
   //  ...fazer alguma coisa ...

}

else

{

if(maritalStatus = = 1)

{

    //  Deve ser casado
    //  ...Fazer alguma outra coisa ...
}

}

E assim por diante.

Você pode ver que esses If se tornam velhos rapidamente. Testar para casos múltiplos é uma ocorrência tão comum que o C#  fornece uma construção especial para decidei entre um conjunto de condições mutuamente exclusivas. Este controle funciona com SWITCH, e funciona como segue:

switch( maritalStatus)
{

  case 0:
               // ...fazer o negócio do solteiro . . .
               break;

  case 1:


              // ...fazer o negócio do casado . . .
               break;



case 2:
               // ...fazer o negócio do divorciado . . .
               break;

  case 3:


               // ...fazer o negócio do viúvo . . .
               break;

case 4:


             // ...saia da minha  frente . . .
               break;
default:

         // E aqui se não passar por qualquer casos;
        // isto é provavelmente um condição de erro;

break;


}



  • Usar a instrução SWITCH ( ) deve ser um dos tipos contáveis ( incluindo char) ou um string. Valores tipo ponto flutuante sã excluídos.
  • Os vários valores case devem referir valores do mesmo tipo da expressão switch.
  • Os valores case devem ser constatantes no sentido de que seus valores devem ser reconhecidos na hora da copilação 
  • Cada clausula deve terminar em um instrução break. A instrução break passa o controle para fora da instrução SWITCH.
  •