Olá, ainda na série de estudos em C#.Net, necessitei solicitar algumas informações do computador como nome da máquina, domínio atual, versão do sistema operacional, usando para isso a classe Environment que faz parte do namespace System, aproveitando também para estudar o funcionamento da estrutura de decisão “switch”.
A aplicação consiste em mostrar no console algumas informações da máquina, para isso é solicitado ao usuário que informe o que deseja que seja mostrado, através do numero correspondente a opção desejada. Vamos analisar abaixo o código dessa aplicação.
No trecho abaixo foi declarada apenas uma variável para que fosse possível armazenar a opção escolhida pelo usuário, para isso utilizei uma variável de tipo int.
int iOpcao; // tipo inteiro
O próximo trecho serve para mostrar ao usuário as opções e solicitar que escolha uma das opções armazenando o que foi desejado pelo usuário na variável “iOpcao”.
// Opções
Console.WriteLine("[1] - nome atual do usuário e seu ID.");
Console.WriteLine("[2] - Versão atual do CLR.");
Console.WriteLine("[3] - Domínio do usuário atual.");
Console.WriteLine("[4] - Versão do Sistema Operacional.");
Console.WriteLine("[5] - Diretório do sistema.");
Console.WriteLine("[6] - Nome da máquina.");
Console.WriteLine("[7] - Pega os drives lógicos do computador.");
Console.WriteLine("[8] - Sai do processo atual");
// Solicita e recupera a operação desejada
Console.Write("Favor escolha uma das opções: ");
iOpcao = int.Parse(Console.ReadLine());
O trecho a seguir utilizando a esturura de decisão “switch” para ler da variável “iOpcao” o que o usuário selecionou e executando a opção desejada de acordo com o numero informado.
// Ler a opção desejada pelo usuário
switch (iOpcao)
{
case 1: // sentença de instruções para opção 1
Console.WriteLine(Environment.UserName);
break;
case 2: // sentença de instruções para opção 2
Console.WriteLine(Environment.Version);
break;
case 3: // sentença de instruções para opção 3
Console.WriteLine(Environment.UserDomainName);
break;
case 4: // sentença de instruções para opção 4
Console.WriteLine(Environment.OSVersion);
break;
case 5: // sentença de instruções para opção 5
Console.WriteLine(Environment.SystemDirectory);
break;
case 6: // sentença de instruções para opção 6
Console.WriteLine(Environment.MachineName);
break;
case 7: // sentença de instruções para opção 7
Console.WriteLine(Environment.GetLogicalDrives()[0]);
break;
case 8: // sentença de instruções para opção 8
Environment.Exit(0);
break;
default: // sentença de instruções para opção diferente das anteriores
Console.WriteLine("Nenhuma opcao selecionada.");
break;
}
A esturura de decisão “switch” é parece com uma seqüência de “IF”, quando a clausula “case” encontra a sentença igual ao valor informado a em “switch (iOpcao)” é executada a sentença de instruções associada à opção.
Observe que para cada “case” tem que existir um “break”, isso se faz necessário para que o fluxo não prossiga. Faça um teste sem o a instrução “break”.
Um outro ponto importante é a linha contendo a instrução “default”, ela se faz necessário caso não seja selecionada nenhuma das opções suportadas pelos “case”.
Observando as instruções que serão executadas, dependendo da escolha do usuário, vamos ver abaixo o que cada uma dessas linhas retorna.
Environment.UserName - Nome atual do usuário e seu ID.
Environment.Version - Versão atual do CLR.
Environment.UserDomainName – Dóminio do usuário atual.
Environment.OSVersion – Versão do sistema operacional.
Environment.SystemDirectory – Diretório do sistema.
Environment.MachineName – Nome da máquina.
Environment.GetLogicalDrives() – Pega os drives lógicos do computador.
Environment.Exit(0) – Sai do processo atual.
Código completo em C#
static void Main(string[] args)
{
int iOpcao; // tipo inteiro
// Opções
Console.WriteLine("[1] - nome atual do usuário e seu ID.");
Console.WriteLine("[2] - Versão atual do CLR.");
Console.WriteLine("[3] - Domínio do usuário atual.");
Console.WriteLine("[4] - Versão do Sistema Operacional.");
Console.WriteLine("[5] - Diretório do sistema.");
Console.WriteLine("[6] - Nome da máquina.");
Console.WriteLine("[7] - Pega os drives lógicos do computador.");
Console.WriteLine("[8] - Sai do processo atual");
// Solicita e recupera a operação desejada
Console.Write("Favor escolha uma das opções: ");
iOpcao = int.Parse(Console.ReadLine());
// Ler a opção desejada pelo usuário
switch (iOpcao)
{
case 1: // sentença de instruções para opção 1
Console.WriteLine(Environment.UserName);
break;
case 2: // sentença de instruções para opção 2
Console.WriteLine(Environment.Version);
break;
case 3: // sentença de instruções para opção 3
Console.WriteLine(Environment.UserDomainName);
break;
case 4: // sentença de instruções para opção 4
Console.WriteLine(Environment.OSVersion);
break;
case 5: // sentença de instruções para opção 5
Console.WriteLine(Environment.SystemDirectory);
break;
case 6: // sentença de instruções para opção 6
Console.WriteLine(Environment.MachineName);
break;
case 7: // sentença de instruções para opção 7
Console.WriteLine(Environment.GetLogicalDrives()[0]);
break;
case 8: // sentença de instruções para opção 8
Environment.Exit(0);
break;
default: // sentença de instruções para opção diferente das anteriores
Console.WriteLine("Nenhuma opcao selecionada.");
break;
}
}
Retornando Informações do Computador em C#
Retornando Informações do Computador em VB.Net
Abraço e até a próxima.