![]() |
|
||||
![]() 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 |
Você está aqui: C# ::: Windows Forms ::: TextBox |
Como retornar a posição inicial e final do texto selecionado em um TextBoxQuantidade de visualizações: 8395 vezes |
Em algumas situações gostaríamos de obter a posição inicial e final do texto selecionado em um TextBox. Para isso nós podemos usar a propriedade SelectionStart (definida na classe TextBoxBase). Esta propriedade retorna a posição do primeiro caractere do texto selecionado. Veja o exemplo:private void copiarToolStripMenuItem_Click(object sender, EventArgs e){ // vamos obter a posição de início e fim do texto selecionado // no TextBox int inicio = textBox1.SelectionStart; int fim = textBox1.SelectionLength + (inicio - 1);...... Note que aqui nós só precisamos combinar as propriedades SelectionStart e SelectionLength para obtermos a posição inicial e final do texto selecionado. |
![]() |
C# ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada em C# usando a função Sqrt() da classe MathQuantidade de visualizações: 29384 vezes |
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras. Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que: \[\sqrt{9} = 3\] então, pela potenciação: \[3^2 = 9\] Agora veremos como calcular a raiz quadrada usando a função Sqrt() da classe Math da linguagem C#. Veja o código completo: using System; namespace Estudos { class Principal { // função principal do programa C# static void Main(string[] args) { // vamos ler o valor Console.Write("Informe o valor desejado: "); double valor = Double.Parse(Console.ReadLine()); // vamos calcular a raiz quadrada ...... Ao executar este código teremos o seguinte resultado: Informe o valor desejado: 9 A raiz quadrada do valor informado é: 3.0 É importante observar que, se fornecermos um valor negativo para a função Sqrt(), o resultado será NaN (Not a Number, não é um número). Veja: Informe o valor desejado: -9 A raiz quadrada do valor informado é: NaN |
C# ::: Coleções (Collections) ::: ArrayList |
Como passar uma ArrayList para um método C#Quantidade de visualizações: 9285 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: 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 ...... Ao executar este código C# nós teremos o seguinte resultado: 30 2 98 1 7 |
C# ::: Coleções (Collections) ::: List<T> |
Como usar a classe genérica List<T> do C# em suas aplicaçõesQuantidade de visualizações: 15630 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: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 ...... 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: 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); ...... |
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 |