Você está aqui: C# ::: LINQ ::: LINQ to Objects |
|
Como retornar o primeiro elemento de um array de strings em C# usando a função First() do LINQQuantidade de visualizações: 833 vezes |
|
Nesta dica mostrarei um exemplo bem simples do uso do método First() do LINQ (Language-Integrated Query) do C# para retornar o primeiro elemento de um vetor de strings. É claro que este método funciona com qualquer coleção, mas um exemplo simples nos ajudará a entender melhor o seu funcionamento. Em outras dicas eu aprofundo o uso deste método. Vamos ao código então. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using System.Linq; namespace Estudos { class Principal { static void Main(string[] args) { // vamos construir um vetor de strings string[] linguagens = {"Java", "Python", "PHP", "Ruby"}; // vamos obter o primeiro elemento do vetor string primeira = linguagens.First(); // vamos mostrar o resultado Console.WriteLine("A primeira linguagem é: {0}", primeira); Console.WriteLine("Pressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: A primeira linguagem é: Java Fique atento ao fato de que o método First() pode atirar uma exceção do tipo InvalidOperation se o array ou coleção estiver vazia ou não incluir nenhum elemento que se encaixe nas condições testadas. Veja o resultado ao chamarmos este método em um vetor vazio: System.InvalidOperationException HResult=0x80131509 Message=Sequence contains no elements Source=System.Linq StackTrace: at System.Linq.ThrowHelper.ThrowNoElementsException() at System.Linq.Enumerable.First[TSource](IEnumerable`1 source) at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 11 |
|
Link para compartilhar na Internet ou com seus amigos: | |
C# ::: Namespace System.Drawing ::: Graphics |
Como desenhar texto usando o método DrawString() da classe Graphics do C#Quantidade de visualizações: 5817 vezes |
Em algumas situações precisamos desenhar uma string (texto) no formulário ou algum outro controle. Para isso podemos usar o método DrawString() da classe Graphics. A assinatura mais comumente usada deste método é:Graphics.DrawString(String, Font, Brush, Single, Single) ---------------------------------------------------------------------- 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){ // vamos obter o Graphics do formulário Graphics g = this.CreateGraphics(); // vamos desenhar a string "Arquivo de Códigos" g.DrawString("Arquivo de Códigos", this.Font, new SolidBrush(Color.Red), 40, 60); // vamos liberar o objeto Graphics g.Dispose(); } Aqui a string será desenhada usando a fonte do formulário e na cor vermelha e sólida. Se quiséssemos definir a fonte, o código ficaria algo assim: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- g.DrawString("Arquivo de Códigos", new Font("Verdana", 30), new SolidBrush(Color.Red), 40, 60); As coordenadas x e y nas quais o desenho ocorrerá podem ser informadas como um objeto da estrutura PointF. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- g.DrawString("Arquivo de Códigos", new Font("Verdana", 30), new SolidBrush(Color.Red), new PointF(80f, 120f)); |
C# ::: Coleções (Collections) ::: List<T> |
Como usar a classe genérica List<T> do C# em suas aplicaçõesQuantidade de visualizações: 15428 vezes |
A classe genérica List<T> da linguagem C# representa uma lista fortemente tipada de objetos que podem ser acessados por índices. Esta classe fornece métodos para pesquisar, ordenar e manipular seus elementos. Veja sua posição 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.Collections.Generic.List<T> System.ServiceModel.Install.Configuration. ServiceModelConfigurationSectionCollection System.ServiceModel.Install.Configuration. ServiceModelConfigurationSectionGroupCollection System.Workflow.ComponentModel.ActivityCollection System.Workflow.Activities.WorkflowRoleCollection System.Workflow.Activities.OperationParameterInfoCollection System.Workflow.ComponentModel.Design. ActivityDesignerGlyphCollection System.Workflow.Runtime.Tracking.ExtractCollection System.Workflow.Runtime.Tracking.TrackingAnnotationCollection System.Workflow.Runtime.Tracking.TrackingConditionCollection System.Workflow.Runtime.Tracking.ActivityTrackingLocationCollection System.Workflow.Runtime.Tracking.UserTrackingLocationCollection System.Workflow.Runtime.Tracking.ActivityTrackPointCollection System.Workflow.Runtime.Tracking.UserTrackPointCollection System.Workflow.Runtime.Tracking.WorkflowTrackPointCollection Esta classe implementa também as interfaces IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection e IEnumerable. A classe List<T> é a equivalente genérica da classe ArrayList. Ela implementa a interface genérica IList<T> usando um array (matriz) cujo tamanho é dinamicamente aumentado de acordo com a necessidade. Esta classe usa tanto um comparador de igualdade quanto um de ordenação. Os métodos tais como Contains(), IndexOf(), LastIndexOf() e Remove() usam um comparador de igualdade para os elementos da lista. O comparador de igualdade padrão para o tipo T é definido segundo as seguintes regras: Se o tipo T implementar a interface genérica IEquatable<T>, então o comparador de igualdade é o método Equals(T) dessa interface. Caso contrário, o comparador de igualdade padrão é Object.Equals(Object). Os métodos tais como BinarySearch() e Sort() usam um comparador de ordenação para os elementos da lista. O comparador padrão para o tipo T é definido da seguinte forma: Se o tipo T implementar a interface genérica IComparable<T>, então o comparador padrão é o método CompareTo(T) dessa interface. Caso contrário, se o tipo T implementar a interface não-genérica IComparable, então o comparador padrão é o método CompareTo(Object) dessa interface. Se o tipo T não implementar nenhuma destas duas interfaces, então não haverá comparador padrão, e um comparador ou delegate de comparação deve ser fornecido explicitamente. Uma lista List<T> não fornece garantias quanto à sua ordenação. Devemos ordená-la por conta própria antes de efetuar algumas operações (tais como BinarySearch) que exigem que a List<T> esteja ordenada. Os elementos em uma coleção do tipo List<T> podem ser acessados usando índices (que começam a partir de 0). Uma List<T> aceita o valor null como valor válido para tipos referência e aceita elementos duplicados. Em relação à performance, a documentação do .NET afirma que, embora List<T> e ArrayList possuam funcionalidade semelhante, a classe List<T> possui uma performance melhor na maioria dos casos, além de ser type safe (oferece segurança de tipos). Veja um trecho de código no qual criamos uma List<T> de inteiros, inserimos alguns valores e usamos o laço foreach para percorrer a lista e exibir os valores dos elementos: ---------------------------------------------------------------------- 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<int> valores = new List<int>(); // vamos inserir três valores na lista valores.Add(5); valores.Add(2); valores.Add(9); // vamos usar o laço foreach para percorrer os elementos // na lista foreach(int v in valores){ Console.WriteLine(v); } // vamos pausar a execução Console.ReadKey(); } |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar um array de strings em ordem alfabética em C# usando a classe StringComparerQuantidade de visualizações: 17331 vezes |
Nesta dica mostrarei como classificar um vetor de strings C# em ordem alfabética. Para isso nós vamos usar um objeto da classe StringComparer. 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"}; Console.WriteLine("Ordem original:"); for (int i = 0; i < cidades.Length; i++) { Console.WriteLine(cidades[i]); } // vamos criar um objeto da classe StringComparer StringComparer ordenar = StringComparer.CurrentCultureIgnoreCase; // agora classificamos o vetor em ordem alfabética Array.Sort(cidades, ordenar); Console.WriteLine(); Console.WriteLine("Ordem alfabética:"); 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 C# nós teremos o seguinte resultado: Ordem original: Goiânia São Paulo Rio de Janeiro Curitiba Ordem alfabética: Curitiba Goiânia Rio de Janeiro São Paulo |
Vamos testar seus conhecimentos em Fundações |
Fundações profundas A infraestrutura de fundação de qualquer empreendimento desempenha papel importante no suporte de cargas decorrentes do peso próprio da superestrutura e de sua utilização. As fundações são convencionalmente separadas em dois grandes grupos: superficiais e profundas. Com base no que foi exposto, assinale com V (verdadeiro) ou F (falso) as proposições a seguir. ( ) Estaca escavada mecanicamente é a estaca com a qual um operador, lançando mão de um trado manual, perfura o solo. Isso é feito exclusivamente com revestimento. ( ) Estacas são elementos de fundação profunda com auxílio de ferramentas ou equipamentos. O procedimento pode ser feito por cravação à percussão, prensagem, vibração ou escavação, ou ainda de forma mista, envolvendo mais de um desses processos. ( ) O elemento que transmite a carga proveniente da superestrutura ao terreno pela resistência de ponta ou resistência do fuste, ou ainda pela combinação das duas formas, é classificado como estaca. Assinale a alternativa que indica, de cima para baixo, a ordem correta. A) V, V, V. B) F, F, F. C) V, F, V. D) F, V, F. E) F, V, V. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Analise o seguinte código Pythona = {5, 8, 2, 1} b = {1, 4, 5, 3} c = a.intersection(b) print(c) Qual é o resultado de sua execução? A) {1, 5} B) Um erro de execução na linha 2 C) {5, 5, 1, 1} D) {5, 8, 2, 1, 1, 4, 5, 3} Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Analise o seguinte código JavaScriptdocument.write(typeof typeof 1); Qual é o resultado de sua execução? A) number B) NaN C) string D) true E) 1 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Locação da obra No caso de obras de grande área (m2), erros acumulados de alinhamento podem acarretar perda de tempo e dinheiro, sendo conveniente, portanto, o auxílio da topografia. Para esse tipo de obra, que tem muitos elementos (fundações, paredes, etc.), qual é o processo ideal de locação? A) Processo dos cavaletes. B) Processo dos piquetes. C) Processo dos perfis metálicos. D) Processo dos tapumes (ou gabaritos ou tábuas corridas). E) Locação com auxílio das construções vizinhas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual a saída do seguinte programa Python?valor = 0.0043563 print("Valor: %e" % valor) A) Erro de execução na linha 2 B) Valor: 0.004356 C) Valor: 4.356300e-03 D) Valor: 0 E) Valor: 0.0044 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 |
Portugol - Exercício Resolvido de Portugol - Um programa que lê três números inteiros e mostra o maior |
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 |