Aprenda o conhecimento básico de c# exigido pelo ASP.NET
Autor:Eve Cole
Data da Última Atualização:2009-12-05 14:52:37
-
O livro de exemplo da Microsoft fala sobre três linguagens: c#, vb e Jscript. Para permitir que todos aprendam coisas novas, vamos aprender c#. É melhor ter algum conhecimento básico de C++.
Mas não importa se você não tem, você só terá que se esforçar um pouco mais.
Qualquer idioma tem duas partes:
Dados + Gramática + Algoritmo
Os dados são usados para representar informações e a sintaxe é usada para controlá-las. Para ser franco, algoritmos são algumas formas de pensar que as pessoas resumiram para resolver problemas. Quanto aos dados, naturalmente existem estruturas de dados, e depois existem consultas, inserções, modificações, etc.
1. Claro, variáveis são usadas para armazenar dados. Agora vamos falar sobre o método de declaração em C#!
O método usual é:
Tipo + nome da variável
int x //Define uma variável inteira
string name,pwd; //Definir duas variáveis de caracteres
objeto x; //Define o objeto
object obj=new object();//Cria uma instância baseada em um objeto
public string x; //Adiciona um modificador de tipo à variável de caractere para que todos os usuários possam acessá-la
Para explicar:
Ao declarar variáveis, use letras minúsculas para palavras de tipo como int string object, porque c# diferencia maiúsculas de minúsculas. É errado usar INT x para definir variáveis.
Vamos dar uma olhada em dois programas:
/* Aprenda como declarar variáveis
criado por vagabundo */
usando o sistema;
teste de classe
{ static void Principal()
{int x=3;
Console.WriteLine("x={0}",x);
string nome="vagabundo";
string pwd="197926";
Console.WriteLine("seu nome é:{0};pwd é {1}",nome,pwd);
objeto y;
y=x;//conversão explícita
Console.WriteLine("y={0}",y);
}
}
2. Envie caracteres para o navegador:
O texto acima é sobre como usar System.Console.WriteLine para gerar o valor de uma variável em C#, mas em ASP.NET você ainda precisa usar o método Response.Write("char") do objeto Response, mas não pode omitir o parênteses neste momento.
exemplo:
<%@ idioma="C#" %>
<% nome da sequência;
nome="vagabundo";
Response.Write("seu nome é "+nome);
%>
3. Acesse o valor do atributo index (tome os elementos do formulário como exemplo)
Amigos que aprenderam asp sabem que você pode usar Requst.Form("object name") para extrair o valor de um objeto de formulário, mas em asp.net, use Request.QueryString["name"] para extraí-lo.
4. Declarar atributos de índice
No asp.net precisamos aprender conceitos de programação de eventos e indicadores de índice. Através do ponteiro do índice podemos acessar as informações dos dados da classe como um array. Vamos construir um exemplo simples primeiro:
usando o sistema;
equipe de classe
{
string[] s_name=new string[3]{"vagrant","jack","rose"};//Defina um campo da classe e, em seguida, escreva a função construtora para que a classe externa possa ser acessada através do índice
string pública this[int nIndex]//Declaração de índice de acesso
{
pegar {
return s_name[nIndex];//Fornece acesso de leitura de classe estrangeira
}
definir {
s_name[nIndex]=value;//Fornece direitos de escrita de classe estrangeira
}
}
}
teste de classe
{
public static void Principal(){
Team t1=new Team();//Cria uma instância da classe Team
para(int i=0;i<3;i++)
Console.WriteLine(t1[i]);//Acessar as informações de dados da instância através do indicador de índice
}
}
5. Definir e inicializar dados
Quando processamos dados em lote, geralmente usamos arrays. Ao definir um array, precisamos considerar três questões: tipo, nome dos dados e dimensão.
Deixe-me usar dados unidimensionais como exemplo. Afinal, dados unidimensionais são comumente usados.
Definir matriz:
string nomedoaluno[]=nova string[50];
inicialização:
Método um.
nomedoaluno[0]="vagabundo";
nomedoaluno[1]="jack";
........
Método dois.
int[] sex=new int[2]{0,1};//0 representa masculino, 1 representa feminino
Isso é fácil de entender e não vou explicar.
6. Estruturas e Enumerações
A razão pela qual falo sobre estruturas e enumerações é porque elas têm semelhanças e diferenças.
Estrutura: Uma coleção de informações relacionadas formando uma única entidade. Um catálogo de endereços geralmente inclui: nome, número de telefone, endereço, etc.
Enumeração: Uma série de dados logicamente inseparável. Por exemplo, há dias de segunda a domingo na semana. Mas de segunda a domingo são logicamente inseparáveis.
Há uma diferença entre os dois. Uma estrutura é uma coleção de dados, enquanto uma enumeração só pode receber um deles por vez. Estruturas e enumerações são tipos de estruturas de dados.
Defina tipos de dados estruturais:
struct Agenda Telefônica {
nome da string pública;
telefone público;
endereço de string público;
}
Defina uma variável deste tipo de estrutura
Agenda telefônica p1;
Atribuir valores a cada membro de uma variável de estrutura
p1.name="vagabundo";
p1.phone="88888888";
p1.address="wuhan";
Definir o tipo de dados de enumeração e atribuir valor
//Define um tipo de enumeração
enum público MessageSize {
Pequeno = 0,
Médio = 1,
Grande = 2
}
//Cria uma variável do tipo enumeração
public MessageSize msgsize;
//Atribuir um valor a esta variável
tamanho da mensagem = Pequeno;
7. Declarar e usar métodos
//Define uma função sem valor de retorno
void função void() {
...
}
//Declara uma subfunção com valor de retorno
String stringfunction() {
...
return (String) val;//(string) indica o tipo de retorno
}
//Declara uma função que pode ser calculada
String parmfunction(String a, String b) {
...
retornar (String) (a + b);
}
//usa função
função void();
String s1 = stringfunção();
String s2 = parmfunction("Olá", "Mundo!");
8. Declarações de controle de processo
Não há muita diferença entre instruções de controle de fluxo em C# e C++. Acontece que um foreach é adicionado ao C# (que deve ser familiar aos programadores vb).
A pior coisa sobre o controle de processos é a seleção e o loop.
Uso da instrução condicional if:
if(Requery.QueryString["nome"]==nulo){
declaração....
}
Quando há muitas opções, a instrução switch é comumente usada
Exemplo:
mudar (Nome) {
caso "João":
...
quebrar;
caso "Paulo":
...
quebrar;
caso "Ringo":
...
quebrar;
padrão:
...
quebrar;
}
Geralmente existem dois tipos de instruções de loop:
a.for loop
for (int i=0; i<3; i++){
declaração...
}
b. loop while
int eu = 0;
enquanto (eu<3) {
Console.WriteLine(i.ToString());//O objetivo de i.ToString() é converter i em um tipo string
eu += 1;
}
9. Tratamento de exceções
Ao escrever programas, frequentemente encontramos coisas que não podemos prever antecipadamente. Por exemplo, erros de entrada do usuário, memória insuficiente, recursos de rede indisponíveis, bancos de dados indisponíveis, etc. Portanto, devemos usar métodos de tratamento de exceções para lidar com tais problemas. Todas as exceções em C# são instâncias de uma classe, que herda da classe System.Exception
Vamos primeiro apresentar a instrução de exceção throw, como
lançar expressão
Esta instrução é uma exceção gerada ao avaliar a expressão
Instrução de tratamento de exceção:
try é usado para capturar exceções que ocorrem durante a execução do bloco.
cathc é usado para lidar com esta exceção.
Método geral:
tentar {
//Código que pode lançar uma exceção
} catch(OverflowException e) {
//Captura uma exceção detalhada
} catch(Exceção e) {
//Captura uma exceção comum
} finalmente {
//Executa um código sem exceção
}
Dê uma olhada em uma exceção escrita por Beibei que trata de erros de conexão de banco de dados:
tentar
{
OleDbConnection conn = getConn(); //getConn(): obtém o objeto de conexão
Adaptador OleDbDataAdapter = novo OleDbDataAdapter();
string sqlstr="selecione id,title,author,pic,hits,posttime das notas ordenadas por posttime desc";
meudataset= new System.Data.DataSet();
adaptador.SelectCommand = new OleDbCommand(sqlstr, conn);
adaptador.Fill(meuconjuntodedados,"notas");
conexão.Fechar();
}
pegar(Exceção e)
{
throw(new Exception("Erro no banco de dados:" + e.Message))
}
10. Processamento de strings
Em C#, string é um tipo de referência, então você pode usar conexão e truncamento
Você saberá depois de ler o exemplo abaixo!
//usa string
Cadeia s1;
String s2 = "olá";
s2 += "mundo";
s1 = s2 + "!!!";
//Use o método Append da classe StringBuilder
StringBuilder s3 = new StringBuilder();
s3.Append("olá");
s3.Append("mundo");
s3.Append("!!!");
11. Manipulação de eventos
Os eventos são membros de uma classe que enviam notificações para o mundo exterior.
Vejamos primeiro um exemplo representativo de processamento de eventos:
void MyButton_Click(Remetente do objeto,
EventArgs E) {
...
}
Não sei muito sobre isso, ouvi dizer que ficará mais claro depois de assistir ao MFC. Se alguém tiver experiência nesta área, espero que possa me dar alguns conselhos.
12. declarar um evento
//Cria um evento público
evento público EventHandler MyEvent;
//Define um método para este evento
protegido void OnMyEvent(EventArgs e) {
MeuEvento(este, e);
}
13. Adicione OR à causa para tratar o evento.
Control.Change += novo EventHandler(this.ChangeEventHandler);
Control.Change -= novo EventHandler(this.ChangeEventHandler);
14. Conversão de tipo
int i = 3;//Define uma variável inteira e atribui um valor
String s = i.ToString(); //Converte número inteiro em tipo string, use ToString()
double d = Double.Parse(s); //Converte o tipo de string em tipo de precisão dupla usando Double.Parse(var);
Existem alguns outros que não vou explicar. Vamos nos aprofundar neles depois de termos uma certa base. De qualquer forma, agora que entendo essas coisas, não terei problemas em lidar com os problemas comuns que se seguem.