Você está aqui: C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como criar um subdiretório em C# usando a função CreateSubdirectory() da classe DirectoryInfo - Curso de C# para iniciantesQuantidade de visualizações: 42 vezes |
Em várias situações nós precisamos criar subdiretórios usando C#. Para isso nós podemos usar o método CreateSubdirectory() da classe DirectoryInfo. Veja como isso pode ser feito no trecho de código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using System.IO; namespace Estudos{ class Program{ static void Main(string[] args) { DirectoryInfo dir = new DirectoryInfo(@"C:\estudos_c#"); DirectoryInfo sub = dir.CreateSubdirectory("testes"); if (sub.Exists) { Console.WriteLine("Subdiretório criado com sucesso"); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executarmos este código nós teremos o seguinte resultado: Subdiretório criado com sucesso |
![]() |
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: 14959 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 com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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 com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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# ::: 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: 7329 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 com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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 pesquisar um valor em um array C# usando o método Find() e um PredicateQuantidade de visualizações: 12869 vezes |
Nesta dica veremos como usar o método Find() da classe Array e um método Predicate para pesquisar um item em um vetor de string na linguagem C#. Note que a função Predicate é fornecida como segundo argumento para o método Find(). 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; 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"}; // pesquisa o valor "Goiânia" string item = Array.Find(cidades, pesquisar); Console.WriteLine(item != null ? "Item encontrado" : "Item não encontrado."); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } // método auxiliar que serve como Predicate para localizar // o valor desejado private static bool pesquisar(String cid) { return (cid.Equals("Goiânia") ? true : false); } } } Ao executar este código C# nós teremos o seguinte resultado: Item encontrado |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() 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 |
![]() 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 |