Você está aqui: C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como testar se um drive está pronto para acessoQuantidade de visualizações: 7174 vezes |
Podemos usar a propriedade IsReady da classe DriveInfo para verificar se um drive está pronto, ou seja, pode ser acessado por nosso código. Esta propriedade é útil quando queremos efetuar operações de leitura ou escrita em drives de CD, CD-ROM ou drives removíveis. Se o drive não esstiver pronto, uma exceção do tipo IOException será atirada. Veja um trecho de código no qual testamos se um drive está pronto para acesso: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e){ // using System.IO; // vamos obter um DriveInfo representando o drive C DriveInfo di = new DriveInfo("C"); // vamos verificar se o drive está pronto para acesso bool pronto = di.IsReady; // vamos exibir o resultado if(pronto) MessageBox.Show("O drive está pronto para acesso."); else MessageBox.Show("O drive NÃO está pronto para acesso."); } |
![]() |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar uma substring de uma string C# usando o método Substring() da classe String - C# para iniciantesQuantidade de visualizações: 32739 vezes |
Esta dica mostra como obter parte de uma palavra, frase ou texto, ou seja, extrair uma substring a partir de uma string. Isso pode ser feito por meio da função Substring() da classe String da linguagem C#. Veja que temos que fornecer o índice do primeiro caractere (começando em 0) e a quantidade de caracteres que serão obtidos. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; namespace Estudos{ class Program{ static void Main(string[] args) { string frase = "Gosto muito de C#"; Console.WriteLine("A frase é: " + frase); // obtém a substring "muito" string substring = frase.Substring(6, 5); Console.WriteLine("Substring obtida: " + substring); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código nós teremos o seguinte resultado: A frase é: Gosto muito de C# Substring obtida: muito |
C# ::: Coleções (Collections) ::: List<T> |
Como retornar a quantidade de elementos que podem ser armazenados na List do C# sem redimensioná-laQuantidade de visualizações: 7378 vezes |
O objeto List do C# possui uma propriedade Capacity que nos retorna a quantidade de elementos que podem ser inseridos na lista antes que ela tenha que redimensionar o seu array interno. Quando o tamanho da lista excede essa capacidade, automaticamente o array interno é redimensionado de forma a acomodar esses novos itens. Nessa dica eu mostro como podemos retornar o valor dessa propriedade. Veja: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; using System.Collections.Generic; namespace Estudos { class Principal { static void Main(string[] args) { List<int> valores = new List<int>(); // insere valores na lista valores.Add(4); valores.Add(2); valores.Add(87); valores.Add(23); valores.Add(100); // obtém a capacidade da lista // NOTA: Capacity é o número de elementos que a lista // pode armazenar antes de ser preciso redimensioná-la. int capac = valores.Capacity; Console.WriteLine("A capacidade da lista é de " + capac + " elementos."); Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: A capacidade da lista é de 8 elementos. |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como inverter um array em C# usando a função Reverse() - Vetores e matrizes em C#Quantidade de visualizações: 17041 vezes |
Nesta dica mostrarei como podemos usar o método estático Reverse() da classe Array do C# para inverter a ordem dos elementos de um array (vetor). Note que este método, por ser estático, modifica o vetor passado como argumento. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; namespace Estudos{ class Program{ static void Main(string[] args) { // cria e inicializa um array de strings string[] cidades = {"Goiânia", "São Paulo", "Rio de Janeiro", "Curitiba"}; Console.WriteLine("Ordem original:"); for (int i = 0; i < cidades.Length; i++) Console.WriteLine(cidades[i]); // inverte a ordem dos elementos Array.Reverse(cidades); // exibe os elementos na ordem inversa Console.WriteLine(); Console.WriteLine("Ordem inversa:"); for (int i = 0; i < cidades.Length; i++) Console.WriteLine(cidades[i]); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código nós teremos o seguinte resultado: Ordem original: Goiânia São Paulo Rio de Janeiro Curitiba Ordem inversa: Curitiba Rio de Janeiro São Paulo Goiânia |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string é maior, menor ou igual a outra em C# usando o método Compare()Quantidade de visualizações: 175 vezes |
Em algumas situações nós precisamos fazer a comparação de duas palavras, frase ou texto e verificar se as duas strings são iguais ou se uma é maior ou menor que a outra. Para isso nós podemos usar a função Compare() da classe String da linguagem C#. Este método retorna maior que 0 se a primeira string for maior que a segunda, menor que 0 se a primeira string for menor que a segunda e 0 se as duas strings forem iguais. Veja um código C# completo demonstrando o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; namespace Estudos { class Program { static void Main(string[] args) { string palavra1 = "aacd"; string palavra2 = "abcd"; if (String.Compare(palavra1, palavra2) > 0) { Console.WriteLine("Palavra1 é maior que palavra2"); } else if (String.Compare(palavra1, palavra2) < 0) { Console.WriteLine("Palavra1 é menor que palavra2"); } else { Console.WriteLine("Palavra1 é igual a palavra2"); } Console.WriteLine("Pressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executarmos este código C# nós teremos o seguinte resultado: Palavra1 é menor que palavra2 |
C# ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators) |
Exercícios Resolvidos de C# - Como converter de decimal para binário usando os operadores de bits em C#Quantidade de visualizações: 969 vezes |
Este desafio de programação faz parte da nossa lista de exercícios resolvidos de C#. Pergunta/Tarefa: Escreva um programa C# para pede para o usuário informar um número decimal e faça a conversão para binário usando os operadores de bits. Sua saída deverá ser parecida com: Informe um número decimal: 9 O número binário é: 00000000000000000000000000001001 Veja a resolução completa para o exercício em C#, comentada linha a linha: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; namespace Estudos { class Principal { // vamos definir o tamanho do vetor para guardar // os dígitos do número binário const int TAM_INT = sizeof(int) * 8; static void Main(string[] args) { // variáveis para ajudar a resolver o problema int dec, indice; // vetor para guardar o número binário int[] binario = new int[TAM_INT]; // vamos pedir para o usuário informar um decimal inteiro Console.Write("Informe um número decimal: "); dec = int.Parse(Console.ReadLine()); // ajustamos índice para o último elemento do vetor indice = TAM_INT - 1; // enquanto índice for maior ou igual a 0 while (indice >= 0) { // vamos guardar o bit menos significativo LSB binario[indice] = dec & 1; // diminuímos o índice indice--; // desloca bits para a direita uma posição dec = dec >> 1; } // agora vamos exibir o número binário Console.Write("O número binário é: "); for (int i = 0; i < TAM_INT; i++) { Console.Write(binario[i]); } Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } |
C# ::: Windows Forms ::: TextBox |
C# Windows Forms Avançado - Como rolar as linhas de um TextBox para cima uma de cada vez usando a API do WindowsQuantidade de visualizações: 7543 vezes |
Em algumas situações gostaríamos de rolar para cima o conteúdo de um TextBox de múltiplas linhas uma linha de cada vez. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_LINEUP para seu parâmetro wParam. O valor do parâmetro lParam é zero. Veja um trecho de código que rola para cima o conteúdo de um TextBox uma linha de cada vez. Antes de executar este exemplo, tenha a certeza de ter um TextBox de múltiplas, com barras de rolagem e conteúdo que force o aparecimento das barras de rolagem. Comece adicionando a linha: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System.Runtime.InteropServices; na seção de usings do seu formulário ou classe. Em seguida adicione o trecho de código abaixo no corpo da classe, como um método: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- [DllImport("user32.dll", EntryPoint = "SendMessage", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); Finalmente coloque o código abaixo no evento Click de um botão: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void button2_Click(object sender, EventArgs e){ // antes de executar este exemplo certifique-se de que // a propriedade Multiline do TextBox esteja definida // como true e a propriedade ScrollBars contenha o valor // Vertical ou Both textBox1.Multiline = true; textBox1.ScrollBars = ScrollBars.Vertical; // constante para a mensagem WM_VSCROLL const uint WM_VSCROLL = 0x115; // constante para o parâmetro wParam const int SB_LINEUP = 0; // handle para a caixa de texto IntPtr handle = textBox1.Handle; IntPtr wParam = (IntPtr)SB_LINEUP; IntPtr lParam = IntPtr.Zero; // vamos fazer com que o TextBox role uma linha para cima SendMessage(textBox1.Handle, WM_VSCROLL, wParam, lParam); } |
C# ::: Coleções (Collections) ::: List<T> |
Como pesquisar um elemento em uma lista do C# usando a função Find() e um PredicateQuantidade de visualizações: 15004 vezes |
Em algumas situações gostaríamos de pesquisar e retornar o primeiro elemento de uma List<T> que obedece a algum critério de busca. Assim, poderíamos, por exemplo, pesquisar um nome que começa com uma determinada palavra ou um preço de produto maior ou igual a um determinado valor. Para tais situações podemos usar o método Find(). Este método possui a seguinte assinatura: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- public T Find( Predicate<T> match ) Veja que o método pede um delegate do tipo Predicate<T> que define as condições para a pesquisa do elemento. Se o elemento for encontrado, este é retornado. Caso contrário, o valor padrão para T é retornado (null para referências). Veja um trecho de código no qual eu mostro como usar o método Find() em combinação com um método personalizado que permite usar um delegate anônimo. Desta forma conseguimos fornecer, em tempo de execução, o argumento para o parâmetro match do Predicate: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- static void Main(string[] args){ // vamos criar um objeto da classe List<T> List<string> nomes = new List<string>(); // vamos inserir quatro valores na lista nomes.Add("Osmar J. Silva"); nomes.Add("Salvador Miranda de Andrade"); nomes.Add("Dyego Fernandes de Souza"); nomes.Add("Marcos de Paula Rocha"); // vamos pesquisar um valor na lista usando um método personalizado // Neste exemplo vamos retornar o primeiro nome que contenha a palavra // "Dyego" string nome = encontrar(nomes, "Dyego"); // vamos verificar se o nome foi encontrado if(nome != null){ // foi encontrado....vamos retornar o resultado Console.WriteLine(nome); } else{ Console.WriteLine("Nenhum nome encontrado."); } // vamos pausar a execução Console.Write("\n\nPressione qualquer tecla para continuar..."); Console.ReadKey(); } // método auxiliar que permite encontrar um valor na lista usando // o método Find() da classe List<T> e um Predicate static string encontrar(List<string> lista, string texto){ string encontrado = null; // vamos pesquisar o valor na lista usando seu método Find() // Aqui o primeiro nome que passar no critério de busca será retornado encontrado = lista.Find(delegate(string valor){ return valor.Contains(texto); }); return encontrado; } O método Find() executa uma busca linear. Assim, este método é uma operação O(n), onde n é a quantidade de elementos na lista. |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as palavras de uma frase ou texto em C# usando as funções IndexOf(), Replace() e Split() da classe StringQuantidade de visualizações: 12181 vezes |
Este exemplo mostra como retornar a quantidade de palavras em uma frase ou texto usando métodos da classe String do C#. Veja como usar os métodos IndexOf() e Replace() para remover os espaços em excesso e, em seguida, o método Split() para quebrar as partes da frase ou texto usando um único espaço como separador. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; namespace Estudos { class Program { static void Main(string[] args) { string frase = "Gosto muito de C# e Java"; int cont = 0; // remove os espaços em excesso while (frase.IndexOf(" ") >= 0) { frase = frase.Replace(" ", " "); } // remove espaços antes e depois da string frase = frase.Trim(); // conta as palavras cont = frase.Split(" ").Length; Console.WriteLine("A frase contém " + cont + " palavras"); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: A frase contém 6 palavras |
Vamos testar seus conhecimentos em Fundações |
Fundações diretas ou rasas As fundações diretas ou rasas são utilizadas em situações em que as camadas do solo sejam resistentes de forma suficiente para suportar as cargas da estrutura. Elas tornam possível a transmissão dessas cargas diretamente ao solo, pela base da fundação, que é dimensionada de forma a distribuir o peso da construção no solo para que a pressão sobre ele seja compatível com a sua resistência. Analise as sentenças a respeito das fundações rasas ou diretas: I - Transferem as cargas das estruturas para camadas subsuperficiais da terra. II - Em uma mesma edificação, é possível encontrar mais do que dois tipos diferentes de fundações, mesmo que sejam rasas ou profundas. III - O uso de fundações rasas será considerado uma técnica adequada quando o número de golpes do SPT for maior ou igual a 8 e a profundidade não ultrapassar 2m. Qual(is) está(ão) correta(s)? A) II. B) I. C) II e III. D) I e III. E) III. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Na construção switch...case...default do JavaScript, em qual parte colocamos a expressão a ser avaliada? A) O JavaScript não possui switch...case B) switch C) case D) default Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Agregados naturais De acordo com o material que constitui as partículas, podemos classificar os agregados, de acordo com a sua densidade, em leves, médios e pesados. Contém um material considerado leve: A) Vermiculita. B) Barita. C) Cascalho. D) Areia. E) Escória. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Java |
Analise o seguinte código Javadouble a = 3.0 / 0; System.out.println(a); Qual é o resultado de sua execução? A) Infinity B) NaN C) Uma exceção java.lang.ArithmeticException: / by zero D) 0 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil no código de defesa do consumidor Um consumidor compra um ferro de passar roupa e quando está manejando o ferro pela primeira vez ele explode e o atinge, causando-lhe danos morais e estéticos. O consumidor é levado ao hospital para tratar alguns ferimentos. Nesse caso, a ação indenizatória deverá ser proposta em face do fabricante no prazo de: A) prazo decadencial de 5 anos. B) prazo prescricional de 30 dias. C) prazo decadencial de 90 dias. D) prazo prescricional de 5 anos. E) prazo prescricional de 90 dias. 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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |