Atenção: esse artigo tem uma palestra complementar. Clique e assista!

Do que trata o artigo

Neste artigo você irá se aprofundar no conhecimento dos elementos básicos da linguagem C#. Começaremos entendendo um pouco mais o funcionamento dos dados do tipo texto ou “string”. Você aprenderá como extrair subcadeias de caracteres de uma string, como formatar e também como melhorar o desempenho do programa na memória tomando alguns cuidados ao trabalhar com este tipo de dado. Avançando um pouco mais, entenderemos como o C# trabalha com listas de dados. Primeiramente você verá alguns detalhes ao trabalhar com os tipos de dados array, em seguida, aprenderá como gerar uma lista dinâmica de dados de qualquer tipo usando as listas genéricas. Por fim, será demonstrado como fazer para escrever textos em um arquivo.

Para que serve

Os tipos de dados string são muito usados no dia a dia em qualquer tarefa de programação. Entretanto, como o framework usa extensamente o conceito de programação orientada a objeto, existem inúmeros métodos dentro da classe “String” que precisam ser conhecidos para evitar a síndrome da “reinvenção da roda”. Outro ponto importante a considerar na manipulação de string é que o seu mau uso pode afetar negativamente o desempenho do programa no caso de se trabalhar com dados em larga escala. Assim, quanto mais se conhecer boas práticas no uso de strings, menos chances teremos de criar um programa que tenha problemas de desempenho. Basicamente um programa contém dois elementos: dados para serem processados e o código que irá executar o processamento destes. Cedo ou tarde, você precisará fazer uso de listas de dados que são chamadas de arrays ou vetores. Estes podem ser estáticos, com um tamanho fixo ou alterarem seu tamanho conforme o trabalho a ser executado pelo programa. Novamente aqui não é necessário escrever código desnecessariamente uma vez que o framework possui funcionalidades para quase tudo o que for necessário fazer listas de dados. E como estamos aprendendo a trabalhar melhor com dados do tipo texto e lista de dados, é natural conhecer como fazer para gravar estes dados em arquivos do tipo texto, tarefa que novamente é simplificada pelos recursos do framework.

Em que situação o tema é útil

Todos os dados que são digitados em um computador são do formato texto no momento da sua entrada. Então, para exibi-los posteriormente, gravar, encontrar algum dado específico ou ainda persistir as entradas do usuário em um arquivo você precisa conhecer os recursos que já existem dentro da linguagem e realizar as tarefas mais facilmente. Muitos programas trocam informações usando arquivos de texto. Por exemplo, ainda existem muitos bancos que recebem os registros para cobrança de títulos usando estes tipos de arquivos. Você vai querer descobrir como criar um arquivo destes formatado corretamente da maneira mais rápida que for possível. Outra tarefa que iremos ver é a geração de relatórios formatados para o console ou um arquivo de texto. Conhecer como percorrer listas de dados e gerar a saída destes vai ajudá-lo a ser mais eficiente.

Resumo do DevMan

Sempre que vamos escrever um programa, surgem situações onde gostaríamos de conhecer um pouco mais de recursos da linguagem que estamos usando para resolver os problemas rápida e eficientemente. Dados do tipo texto ou “strings” fazem parte do dia a dia da programação. Vamos procurar conhecer várias funções para ajudar a tornar o trabalho mais simples. E já que estamos trabalhando com dados, vamos aprender a organizá-los com listas que poderão ser dinâmicas e armazenar dados de qualquer tipo. Por isso veremos um pouco mais da classe List<T>. Quer persistir os dados? Comece fazendo isto com arquivos de texto que são a primeira forma e também a mais simples de guardarmos o trabalho para recuperarmos posteriormente. Novamente, estes exemplos serão feitos usando-se uma aplicação de console. Eu prefiro usar este tipo de aplicação porque permite que tenhamos o foco apenas no que desejamos aprender sem precisar ocuparmo-nos demais com o design de uma interface com o usuário. Você irá criar três projetos, cada um fazendo uso dos conceitos apresentados.

Uma maneira de agilizar o trabalho dentro da programação é você conhecer os recursos que uma linguagem oferece. No C# e de modo geral no framework .NET, a maior parte dos problemas mais comuns já foram resolvidos. Se você conhecer os elementos fundamentais da linguagem, provavelmente poderá concentrar-se em resolver os problemas do seu cliente, ou seja, poderá implementar mais rapidamente as regras de negócio ou as funcionalidades que lhe foram solicitadas pelo usuário do seu programa.

Uma vez conhecendo os elementos mais básicos de uma linguagem, pode-se ir construindo blocos de aplicação mais sólidos, que certamente funcionarão de uma maneira correta e eficiente e que permitirá ao seu programa ser expandido com facilidade. Como elementos fundamentais da linguagem, leve em conta os diversos tipos de dados que podem ser manipulados nativamente por ela incluindo cadeias de caracteres (string), números, listas de dados e escrita e leitura de arquivos.

Os dados do tipo texto são trabalhados dentro do C# usando-se o tipo string. Este por sua vez, oferece um número muito grande de funções para resolver os problemas mais comuns que surgem. Vale a pena lembrar que se deve evitar ter que “reinventar a roda”. Não é difícil nos pegarmos escrevendo métodos e classes para resolver um problema para o qual já existe uma solução dentro da linguagem que estamos usando. Isto além de antiprodutivo nos deixa frustrados, pois, demonstra que temos conhecimentos limitados da linguagem com a qual trabalhamos.

Se for possível, vamos aprender quais os caminhos que nos levarão a reduzir este tipo de comportamento. É bem difícil conhecer todos os recursos de uma linguagem de programação e se tratando do C# é muito mais difícil, pois esta é uma linguagem orientada a objetos existindo um número muito grande de classes e de problemas que podem ser resolvidos.

Além do tipo de dados string que é muito usado, outra tarefa comum em programação merece atenção neste artigo que é operar com vetores ou os arrays. Na linguagem C# existem ferramentas que permitem que se crie e manipule estes de uma maneira muito mais fácil simplificando inclusive a criação de listas dinâmicas de dados de qualquer tipo. A princípio, todos os arrays possuem um tamanho limitado sendo muito difícil alterar o seu tamanho.

Mais difícil ainda pode ser se precisarmos criar um vetor com tipos de dados complexos, ou seja, dados que incluem vários elementos de vários tipos de dados com strings e números num mesmo elemento do vetor. Isto é muito simples de se fazer em C# graças à classe List<T> que permite rapidamente fazer listas de dados de qualquer que seja o tipo que estejamos usando, sem precisar preocupar-se com muitos detalhes, sendo que o conjunto de métodos oferecido resolve a maior parte dos problemas existentes.

Outra tarefa muito comum para os usuários de programas é gerar os dados e guardá-los para que se possa usar mais tarde. Isto requer que o programador saiba escrever dados em arquivos. Ainda que se esteja planejando escrever algum tipo de programa que não necessite deste tipo de trabalho, como por exemplo, um programa que se comunica com um banco de dados, este tipo de conhecimento acaba sendo necessário mais cedo ou mais tarde. Então, de uma maneira bem resumida, vamos descobrir como realizar a gravação em arquivos de texto.

Com estes elementos básicos que serão apresentados e mais os programas de exemplo que serão criados, espero que você consiga começar a entender um pouco mais da linguagem C# e possa partir para tarefas mais complexas, além de conseguir se aprofundar nesta linguagem

Como requisitos de software, você vai precisar do Visual Studio 2008 ou o Visual C# 2008 Express.

Nota: As mesmas técnicas aqui apresentadas também valem para o Visual Studio 2010, recém lançado.

Como já comentei, nós iremos criar programas baseados em aplicações console para podermos focalizar somente nos elementos da linguagem que desejamos aprender. Uma vez que desenvolver interfaces gráficas tira o foco com preocupações de design, optei por este tipo de programa. Em contrapartida, você terá a oportunidade de aprender outros conceitos como, por exemplo, como trabalhar com uma Solution do Visual Studio que tenha vários projetos dentro dela e também como fazer para aproveitar o código que já foi escrito em um projeto para outro.

Manipulando Strings

Todas as operações feitas com texto no C# são baseadas na classe String. Procure na biblioteca que documenta as classes do C# uma referência para esta classe e você terá muitos elementos. O C# já possui, nativamente, funções que removem espaços extras, fazem pesquisa, cópia, concatenam, formatam, excluem etc. Enfim, não sobra muita coisa para se fazer com strings que não tenha um método pré-definido. Na ...

Quer ler esse conteúdo completo? Tenha acesso completo