23
1.Fundamentos da Linguagem C#

1.Fundamentos da Linguagem C#. C# - Fundamentos da Linguagem Orientada a Objetos. Sintaxe Básica: - Declaração de variável: tipo nomevariavel; - Exemplos

Embed Size (px)

Citation preview

1.Fundamentos da Linguagem C#

C# - Fundamentos da Linguagem

Orientada a Objetos. Sintaxe Básica:

- Declaração de variável: tipo nomevariavel;

- Exemplos:int numero;String nome;

DateTime data; - Comentário //Coloque comentário de uma linha assim /* E demais linhas assim /*

Estruturas Condicionais

if (expression ){ faz A} [else{ faz B ]}

<script runat="server"> void Page_Load() { string nome = "Alaor"; if (nome == "Alaor") { Label1.Text = "Olá Alaor"; } else { Label1.Text = "Você não é o Alaor"; }

}</script>

Estruturas Condicionais

switch (expression ){case constant-expression :

statementjump-statement

[default: statement ]}

<script runat="server"> void Page_Load() { char status = 'T'; switch (status) { case 'A': Label1.Text = "Ativo"; break; case 'T': Label1.Text = "Temporário"; break; default: Label1.Text = "Inativo"; break; } }</script>

Estruturas Condicionais

while (expression){ statement}

int i = 0;

while (i < 10){

Response.Write(i.ToString());}

Estruturas Condicionais

for ([initializers]; [expression]; [iterators]) statement

for (int i = 0; i < 100; i++) { if (i % 10 == 0) { Response.Write(i.ToString()); } }

Operadores

Operadores matemáticos - (+, -, *, /, %).

Operadores relacionais - (==, !=, <, >, <=, >=)

Operadores lógicos - && -- e - || -- ou - ! -- negação

Exemplo: - if ((x == 8) || (y == 12))

Conversão de Tipos

Permitir a conversão entre os tipos da linguagem C#.Em C#, cada tipo (int, string, date, float) é uma classe e é possível possível realizar a conversão entre os tipos de diversas maneiras.

No próximo slide é apresentado alguns tipos de conversão.

String textoStr; Int32 valorInt; float valorFl; valorInt = 4;

//converte inteiro para String textoStr = valorInt.ToString();

//conversão de String para inteiro valorInt = Int32.Parse(textoStr); //conversão de String para float valorFl = float.Parse(textoStr); //conversão de Int32 para float valorFl = (float)(valorInt);

//Comando TryParse, tenta converter, retornando true ou //false if (Int32.TryParse(textoStr, out valorInt) == true) { txtLabel.Text = "OK"; } else { txtLabel.Text = "ERRO"; }

Trabalhando com String

Classe String provê uma série de métodos para facilitar a manipulação de conteúdo textual.

- String.Format(StringFormatada, Argumentos)Exemplo:

- String.Format(“Meu nome não é {0}. É {1}”, “Jonny”, “João”);

Resultado Esperado:- “Meu nome não é Jonny. É João”

Substitui os valores entre chaves pelos valores informados nos argumentos.

- String.Equals- String.IsNull

Exercício

Criar um novo arquivo. Criar um formulário com os campos:

- TextBox para Nome e Idade.- Criar um botão Enviar.- Abaixo do botão adicionar uma linha (<hr>) e após criar dois

Controles do tipo label.- Quando o usuário clicar no botão enviar preencher os labels

com as seguintes informações:

Exercício

Label1: Olá, + nome digitado Label2: Você é, + ..

- Se o campo idade for menor que 14 adicionar criança ao texto do label2.

- Se campo idade for entre 14 e 17 adicionar adolescente ao texto do label2.

- Se for maior que 17 adicionar adulto ao texto do label2.

Redirecionamento

Dentro das aplicações Web muitas vezes é necessário mudarmos de página em função de algumas informações providas pelo usuário.

Para invocar uma página do código ASP.NET utilizamos o método Response.Redirect com a seguinte sintaxe:

- Response.Redirect(url).Exemplos:

- Response.Redirect(“default.aspx”);- Response.Redirect(“http://www.google.com”);- Response.Redirect(“~/site/default.aspx”);

Aplicações Cliente-Servidor

- ASP.NET: linguagem server-side.- Página é carregada.- Como “mandar” informações para as páginas:• Login• Cadastro

Métodos de Envio de Informação

GET:• Valores são enviados junto ao endereço da página:

http://www.site.com?nome=Aluno&semestre=5

• Recuperados via QueryString.• Limite de tamanho da cadeia de informações.

Enviando e recuperando informações via GET no ASP.NET

Criar duas novas páginas:• defaultGet.aspx• retornoGet.aspx

Na página defaultGet.aspx adicionar os seguintes controles:• TextBox: ID=”txtNome”• Button: no evento Click adicionar o seguinte código:

Enviando e recuperando informações via GET no ASP.NET

• Na página retornoGet.aspx adicionar o seguinte comando no evento Page_Load:

- Response.Write(Request.QueryString["nome"]);• Request.QueryString

- Método que retorna o conteúdo da variável enviada via GET na página. - Na página passamos a variável na forma:

nomevariavel=valorvariavel. - Na recuperação da informação enviada passamos para o método o nome

da variável e o método retorna o conteúdo da mesma.

protected void Button1_Click(object sender, EventArgs e) { string nome = txtNome.Text; Response.Redirect("retornoGet.aspx?nome="+nome); }

Enviando e recuperando informações via POST no ASP.NET

Criar duas novas páginas: - defaultPost.aspx - retornoPost.aspx

Na página defaultPost.aspx adicionar os seguintes controles:- TextBox: ID=”txtNome” - Button: propriedade PostBackUrl="retornoPost.aspx"

Enviando e recuperando informações via POST no ASP.NET

No Page_Load da página retornoPost adicionar o seguinte código:

Response.Write(Request.Form["txtNome"]);

Request.Form

- Método que retorna o conteúdo dos dados enviados via POST na página. - Na página que envia os dados definimos um ID para os Web Controls.: - Na recuperação da informação enviada passamos para o método o id do controle e

o método retorna o conteúdo da mesma.

StringBuilder

Classe que permite que se trabalhe de uma forma mais otimizada com concatenação de seqüência de caracteres.

String – cada interação cria um novo objeto na memória.

Pertence ao namespace System.Text

Usando Listas de Objetos

Para manipularmos listagem de Registros o C# provê a classe List.

Permite criar e manipular uma lista de registros de mesmo tipo. Sintaxe:

List<Tipo> lista = new List<Tipo>;

A Linguagem C#

Foreach

O foreach é uma nova estrutura que permite iterar por uma coleção sem se preocupar com o tamanho dela.