Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
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 LINQ

Quantidade 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)
Note que precisamos fornecer a string a ser desenhada, a fonte a ser usada (como um objeto da classe Font), a cor e preenchimento (um objeto de alguma classe que herde de Brush) e as coordenadas x e y. Veja um trecho de código no qual desenhamos a string "Arquivo de Códigos" no formulário:

----------------------------------------------------------------------
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ções

Quantidade 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 StringComparer

Quantidade 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 Python

a = {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 JavaScript

document.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

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 35 usuários muito felizes estudando em nosso site.