Você está aqui: C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Aprenda a usar a classe DriveInfo em seus programas C#Quantidade de visualizações: 7178 vezes |
A classe DriveInfo pertence ao namespace System.IO no assembly mscorlib (in mscorlib.dll) e nos permite acessar informações em um drive. Entre estas informações podemos citar a verificação dos drives disponíveis, os tipos de drives, capacidade, espaço disponível, nome, rótulo, etc. Veja a posição desta classe na hierarquia de classes da plataforma .NET: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- System.Object System.IO.DriveInfo Podemos criar um objeto da classe DriveInfo usando seu construtor padrão. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e){ // using System.IO; // vamos criar uma instância da classe DriveInfo DriveInfo di = new DriveInfo("C:"); // vamos obter a capacidade deste drive long capacidade = di.TotalSize; // vamos exibir o resultado MessageBox.Show("A capacidade do drive é de: " + capacidade + " bytes"); } Neste trecho de código nós construímos uma instância da classe DriveInfo representando o drive C. Em seguida acessamos sua propriedade TotalSize para obter a capacidade do drive em bytes. Note que o construtor da classe DriveInfo pode disparar duas exceções: a) ArgumentNullException - Esta exceção será disparada se fornecermos uma string null para o construtor: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // vamos criar uma instância da classe DriveInfo string letra = null; DriveInfo di = new DriveInfo(letra); Ao executar este código teremos a seguinte exceção: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- System.ArgumentNullException was unhandled Message="Value cannot be null.\r\nParameter name: driveName" Source="mscorlib" ParamName="driveName" b) ArgumentException - Esta exceção é disparada se o primeiro nome da letra do drive não estiver na faixa de "a" a "z" (maiúsculas ou minúsculas). O mesmo ocorre se o nome do driver não apontar para um drive válido: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // vamos criar uma instância da classe DriveInfo string letra = "xyz"; DriveInfo di = new DriveInfo(letra); Ao executar este código teremos a seguinte exceção: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- System.ArgumentException was unhandled Message="Object must be a root directory (\"C:\\\") or a drive letter (\"C\")." Source="mscorlib" |
Link para compartilhar na Internet ou com seus amigos: |
C# ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de C# - Criando dois vetores de inteiros de forma que a soma dos elementos individuais de cada vetor seja igual a 30Quantidade de visualizações: 240 vezes |
Pergunta/Tarefa: Considere os seguintes vetores: // dois vetores de 5 inteiros cada int[] a = { 50, -2, 9, 5, 17 }; int[] b = new int[5]; Sua saída deverá ser parecida com: Valores no vetor a: 50 -2 9 5 17 Valores no vetor b: -20 32 21 25 13 Veja a resolução comentada deste exercício usando C#: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; namespace Estudos { class Principal { // função principal do programa C# static void Main(string[] args) { // dois vetores de 5 inteiros cada int[] a = { 50, -2, 9, 5, 17 }; int[] b = new int[5]; // vamos preencher o segundo vetor de forma que a soma dos // valores de seus elementos seja 30 for (int i = 0; i < b.Length; i++) { b[i] = 30 - a[i]; } // vamos mostrar o resultado Console.Write("Valores no vetor a: "); for (int i = 0; i < a.Length; i++) { Console.Write(a[i] + " "); } Console.Write("\nValores no vetor b: "); for (int i = 0; i < b.Length; i++) { Console.Write(b[i] + " "); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } |
C# ::: Coleções (Collections) ::: ArrayList |
Como passar uma ArrayList para um método C#Quantidade de visualizações: 9194 vezes |
Em algumas situações nós precisamos fornecer uma ArrayList para um método C# e manipulá-la a partir deste método. Nesta dica eu mostro como isso pode ser feito. Veja que, dentro do método Main da aplicação nós criamos um novo objeto da classe ArrayList e inserimos 5 números inteiros nela. Em seguida nós efetuamos uma chamada ao método exibirArrayList() passando a lista como referência, ou seja, qualquer alteração que fizermos na ArrayList dentro do método afetará também o objeto criado fora do método. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using System.Collections; namespace Estudos { class Program { static void Main(string[] args) { // Cria o ArrayList ArrayList lista = new ArrayList(); // Adiciona 5 inteiros lista.Add(30); lista.Add(2); lista.Add(98); lista.Add(1); lista.Add(7); // passa o ArrayList para um método que exibirá // seus valores exibirArrayList(lista); Console.WriteLine("\n\nPressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } // método que receberá e exibirá o conteúdo do ArrayList static void exibirArrayList(ArrayList mLista) { foreach (int valor in mLista) { Console.Write("{0} ", valor); } } } } Ao executar este código C# nós teremos o seguinte resultado: 30 2 98 1 7 |
C# ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em C# dados dois pontos no plano cartesianoQuantidade de visualizações: 1326 vezes |
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem C# que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using System.Collections; namespace Estudos { class Program { static void Main(string[] args) { // x e y do primeiro ponto Console.Write("Informe a coordenada x do primeiro ponto: "); double x1 = double.Parse(Console.ReadLine()); Console.Write("Informe a coordenada y do primeiro ponto: "); double y1 = double.Parse(Console.ReadLine()); // x e y do segundo ponto Console.Write("Informe a coordenada x do segundo ponto: "); double x2 = double.Parse(Console.ReadLine()); Console.Write("Informe a coordenada y do segundo ponto: "); double y2 = double.Parse(Console.ReadLine()); // agora vamos calcular o coeficiente angular double m = (y2 - y1) / (x2 - x1); // e mostramos o resultado Console.WriteLine("O coeficiente angular é: " + m); Console.WriteLine("\nPressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } } } Ao executar este código em linguagem C# nós teremos o seguinte resultado: O coeficiente angular é: 0,6666666666666666 Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using System.Collections; namespace Estudos { class Program { static void Main(string[] args) { // x e y do primeiro ponto Console.Write("Informe a coordenada x do primeiro ponto: "); double x1 = double.Parse(Console.ReadLine()); Console.Write("Informe a coordenada y do primeiro ponto: "); double y1 = double.Parse(Console.ReadLine()); // x e y do segundo ponto Console.Write("Informe a coordenada x do segundo ponto: "); double x2 = double.Parse(Console.ReadLine()); Console.Write("Informe a coordenada y do segundo ponto: "); double y2 = double.Parse(Console.ReadLine()); // vamos obter o comprimento do cateto oposto double cateto_oposto = y2 - y1; // e agora o cateto adjascente double cateto_adjascente = x2 - x1; // vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa // (em radianos, não se esqueça) double tetha = Math.Atan2(cateto_oposto, cateto_adjascente); // e finalmente usamos a tangente desse ângulo para calcular // o coeficiente angular double tangente = Math.Tan(tetha); // e mostramos o resultado Console.WriteLine("O coeficiente angular é: " + tangente); Console.WriteLine("\nPressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } } } Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Vamos testar seus conhecimentos em Java |
Analise o seguinte código Javapublic class Estudos { public static void main(String[] args) { int a = 3; System.out.println(++a * 8); } } Qual é o resultado de sua execução? A) 24 B) 32 C) 72 D) 25 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
O projeto de instalação hidrossanitária É fundamental que o projeto hidrossanitário esteja de acordo com as legislações vigentes a fim de promover, principalmente, a segurança. De modo geral, um bom projeto hidrossanitário deve ser dimensionado objetivando atender a: A) demandas da edificação em um período de, no máximo, 10 anos. B) demandas da edificação em um período de até 10-20 anos. C) demandas da edificação em um período de até 20-30 anos. D) demandas da edificação em um período de até 40-50 anos. E) demandas da edificação em um período de mais de 50 anos. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Dimensionamento de Redes de Distribuição de Água Qual a vazão necessária na tubulação que sai do reservatório em uma rede ramificada para um loteamento com a seguinte configuração, considerando que cada habitante consome 400 L/dia? A) 8,67 L/s. B) 16,42 L/s. C) 2,63 L/s. D) 17,33 L/s. E) 6,96 L/s. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
A responsabilidade moral O humano é um ser social e, para tal fim, estabelece valores e princípios como regras e normas de convivência para sua sobrevivência. Isso significa que: A) o homem possui, em sua essência, a necessidade de interação com os outros seres da mesma espécie. B) o ser humano precisa viver sozinho. C) os animais não podem viver com humanos. D) o ser humano não gosta de viver em sociedade. E) humanos e animais não têm instinto. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?valores = [5, 2, 7, 1, 4, 9, 6] contador = len(valores) while contador >= 0: print(valores[contador], end=" ") contador = contador - 2 A) Erro IndexError: list index out of range na linha 4 B) 6 4 7 5 C) Erro SyntaxError: invalid syntax na linha 5 D) 2 1 9 E) 1 4 9 6 Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
JavaScript - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em JavaScript C++ - C++ Windows API GUI - Como criar sua primeira aplicação de interface gráfica usando C++ e WinAPI |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |