Apprenez les connaissances de base en C# requises par ASP.NET
Auteur:Eve Cole
Date de mise à jour:2009-12-05 14:52:37
-
L'exemple de manuel de Microsoft parle de trois langages : c#, vb et Jscript. Afin de permettre à tout le monde d'apprendre de nouvelles choses, apprenons le c#. Il est préférable d'avoir des connaissances de base en C++.
Mais ce n’est pas grave si vous ne l’avez pas, il vous suffira de faire un peu plus d’efforts.
Toute langue comporte deux parties :
Données + Grammaire + Algorithme
Les données sont utilisées pour représenter des informations et la syntaxe est utilisée pour les contrôler. Pour parler franchement, les algorithmes sont des façons de penser que les gens ont résumées pour résoudre des problèmes. Quant aux données, il y a bien sûr les structures de données, puis il y a les requêtes, les insertions, les modifications, etc.
1. Bien sûr, les variables sont utilisées pour stocker des données. Parlons maintenant de la méthode de déclaration en C# !
La méthode habituelle est la suivante :
Type + nom de la variable
int x //Définir une variable entière
string name,pwd; //Définit deux variables de caractères
objet x; //Définir l'objet
object obj=new object();//Créer une instance basée sur un objet
public string x;//Ajouter un modificateur de type à la variable de caractère afin que tous les utilisateurs puissent y accéder
Pour expliquer :
Lors de la déclaration de variables, utilisez des minuscules pour les mots de type comme int string object, car c# est strictement sensible à la casse. Il est erroné d'utiliser INT x pour définir des variables.
Jetons un coup d'œil à deux programmes :
/* Apprenez à déclarer des variables
créer par vagrant */
utiliser le système ;
Test de classe
{ static void Principal()
{int x=3;
Console.WriteLine("x={0}",x);
nom de chaîne="vagrant";
chaîne pwd="197926";
Console.WriteLine("votre nom est :{0} ; le mot de passe est {1}",nom,pwd);
objet y ;
y=x;//conversion explicite
Console.WriteLine("y={0}",y);
}
}
2. Envoyez des caractères au navigateur :
Ce qui précède concerne l'utilisation de System.Console.WriteLine pour afficher la valeur d'une variable en C#, mais dans ASP.NET, vous devez toujours utiliser la méthode Response.Write("char") de l'objet Response, mais vous ne pouvez pas omettre le parenthèses à ce moment.
exemple:
<%@langue="C#" %>
<% nom de chaîne ;
name="vagrant";
Response.Write("votre nom est "+nom);
%>
3. Accédez à la valeur de l'attribut index (prenez les éléments du formulaire comme exemple)
Les amis qui ont appris asp savent que vous pouvez utiliser Requst.Form("object name") pour extraire la valeur d'un objet de formulaire. Mais dans asp.net, utilisez Request.QueryString["name"] pour l'extraire.
4. Déclarez les attributs d'index
Dans asp.net, nous devons apprendre les concepts de programmation d'événements et les indicateurs d'index. Grâce au pointeur d'index, nous pouvons accéder aux informations sur les données de la classe comme un tableau. Construisons d'abord un exemple simple :
utiliser le système ;
Équipe de classe
{
string[] s_name=new string[3]{"vagrant","jack","rose"};//Définissez un champ de la classe, puis écrivez la fonction constructeur afin que la classe externe soit accessible via l'index
chaîne publique this[int nIndex]//Déclaration d'index d'accès
{
obtenir {
return s_name[nIndex];//Fournit un accès en lecture aux classes étrangères
}
ensemble {
s_name[nIndex]=value;//Fournir des droits d'écriture de classe étrangère
}
}
}
Test de classe
{
public static void Main(){
Team t1=new Team();//Créer une instance de la classe Team
pour(int i=0;i<3;i++)
Console.WriteLine(t1[i]);//Accéder aux informations de données de l'instance via l'indicateur d'index
}
}
5. Définir et initialiser les données
Lorsque nous traitons des données par lots, nous utilisons souvent des tableaux. Lors de la définition d'un tableau, nous devons prendre en compte trois problèmes : le type, le nom des données et la dimension.
Permettez-moi d'utiliser les données unidimensionnelles comme exemple. Après tout, les données unidimensionnelles sont couramment utilisées.
Définir le tableau :
string nom de l'étudiant[]=nouvelle chaîne[50];
initialisation :
Première méthode.
nom de l'étudiant[0]="vagrant";
nom de l'étudiant[1]="jack";
........
Deuxième méthode.
int[] sex=new int[2]{0,1};//0 représente un homme, 1 représente une femme
C’est facile à comprendre et je ne l’expliquerai pas.
6. Structures et énumérations
La raison pour laquelle je parle ensemble de structures et d’énumérations est qu’elles présentent des similitudes et des différences.
Structure : Une collection d’informations liées formant une seule entité. Un carnet d'adresses comprend généralement : le nom, le numéro de téléphone, l'adresse, etc.
Énumération : une série de données logiquement indissociables. Par exemple, il y a des jours du lundi au dimanche dans la semaine. Mais du lundi au dimanche sont logiquement indissociables.
Il y a une différence entre les deux. Une structure est une collection de données, alors qu'une énumération ne peut en prendre qu'une à la fois. Les structures et les énumérations sont deux types de structures de données.
Définir les types de données structurelles :
struct Répertoire téléphonique {
nom de chaîne publique ;
téléphone public à cordes ;
adresse de chaîne publique ;
}
Définir une variable de ce type de structure
Annuaire p1 ;
Attribuer des valeurs à chaque membre d'une variable de structure
p1.name="vagrant";
p1.phone="88888888";
p1.address="wuhan";
Définir le type de données d'énumération et attribuer une valeur
//Définir un type d'énumération
énumération publique TailleMessage {
Petit = 0,
Moyen = 1,
Grand = 2
}
//Créer une variable de type énumération
public MessageSize taille de message ;
//Attribuer une valeur à cette variable
msgsize = Petit ;
7. Déclarer et utiliser des méthodes
//Définit une fonction sans valeur de retour
void voidfonction() {
...
}
//Déclare une sous-fonction avec une valeur de retour
Chaîne fonction de chaîne() {
...
return (String) val;//(string) indique le type de retour
}
//Déclare une fonction calculable
Chaîne parmfunction(Chaîne a, Chaîne b) {
...
retourner (Chaîne) (a + b);
}
// utilise la fonction
fonction vide ();
Chaîne s1 = fonction de chaîne();
String s2 = parmfunction("Bonjour", "Monde!");
8. Déclarations de contrôle des processus
Il n'y a pas beaucoup de différence entre les instructions de contrôle de flux en C# et C++. C'est juste qu'un foreach est ajouté à C# (ce qui devrait être familier aux programmeurs vb).
La pire chose dans le contrôle des processus est la sélection et le bouclage.
Utilisation de l'instruction conditionnelle if :
if(Requery.QueryString["name"]==null){
déclaration....
}
Lorsqu'il y a trop de choix, l'instruction switch est couramment utilisée
Exemple:
changer (Nom) {
cas "Jean" :
...
casser;
cas "Paul" :
...
casser;
cas "Ringo" :
...
casser;
défaut:
...
casser;
}
Il existe généralement deux types d'instructions de boucle :
une boucle for
pour (int i=0; i<3; i++){
déclaration...
}
b. while boucle
entier je = 0 ;
tandis que (i<3) {
Console.WriteLine(i.ToString());//Le but de i.ToString() est de convertir i en un type chaîne
je += 1 ;
}
9.Gestion des exceptions
Lors de l’écriture de programmes, nous rencontrons souvent des choses que nous ne pouvons pas prévoir à l’avance. Par exemple, erreurs de saisie utilisateur, mémoire insuffisante, ressources réseau indisponibles, bases de données indisponibles, etc. Nous devrions donc utiliser des méthodes de gestion des exceptions pour résoudre de tels problèmes. Toutes les exceptions en C# sont des instances d'une classe qui hérite de la classe System.Exception
Introduisons d'abord l'instruction d'exception throw
jeter une expression
Cette instruction est une exception générée lors de l'évaluation de l'expression
Déclaration de gestion des exceptions :
try est utilisé pour intercepter les exceptions qui se produisent lors de l’exécution du bloc.
cathc est utilisé pour gérer cette exception.
Méthode générale :
essayer {
//Code pouvant lever une exception
} catch(OverflowException e) {
//Attrape une exception détaillée
} catch(Exception e) {
//Attrape une exception courante
} enfin {
//Exécuter un code sans exception
}
Jetez un œil à une exception écrite par Beibei qui gère les erreurs de connexion à la base de données :
essayer
{
OleDbConnection conn = getConn(); //getConn() : récupère l'objet de connexion
Adaptateur OleDbDataAdapter = new OleDbDataAdapter();
string sqlstr="sélectionnez l'identifiant, le titre, l'auteur, la photo, les hits, l'heure de publication à partir des notes, classées par description de l'heure de publication" ;
mydataset= new System.Data.DataSet();
adapter.SelectCommand = new OleDbCommand(sqlstr, conn);
adapter.Fill(monensemble de données,"notes");
conn.Close();
}
attraper (Exception e)
{
throw(nouvelle exception("Erreur de base de données :" + e.Message))
}
10. Traitement des chaînes
En C#, la chaîne est un type référence, vous pouvez donc utiliser la connexion et la troncature
Vous le saurez après avoir lu l’exemple ci-dessous !
// utilise une chaîne
Chaîne s1 ;
Chaîne s2 = "bonjour" ;
s2 += "monde" ;
s1 = s2 + "!!!" ;
//Utilisez la méthode Append de la classe StringBuilder
StringBuilder s3 = new StringBuilder();
s3.Append("bonjour");
s3.Append("monde");
s3.Append("!!!");
11.Gestion des événements
Les événements sont des membres d'une classe qui envoient des notifications au monde extérieur.
Examinons d’abord un exemple représentatif de traitement d’événements :
void MyButton_Click(Expéditeur d'objet,
EventArgsE) {
...
}
Je ne sais pas grand-chose à ce sujet. J'ai entendu dire que ce serait plus clair après avoir regardé MFC. Si quelqu'un a de l'expérience dans ce domaine, j'espère qu'il pourra me donner quelques conseils.
12. déclarer un événement
//Créer un événement public
événement public EventHandler MyEvent ;
//Définit une méthode pour cet événement
protected void OnMyEvent(EventArgs e) {
MonÉvénement(this, e);
}
13. Ajoutez OR à la cause pour gérer l'événement.
Control.Change += new EventHandler(this.ChangeEventHandler);
Control.Change -= new EventHandler(this.ChangeEventHandler);
14.Conversion de type
int i = 3;//Définir une variable entière et attribuer une valeur
String s = i.ToString();//Convertir un entier en type chaîne, utilisez ToString()
double d = Double.Parse(s);//Convertir le type de chaîne en type double précision à l'aide de Double.Parse(var);
Il y en a d’autres que je n’expliquerai pas. Examinons-les après avoir acquis une certaine base. Quoi qu’il en soit, maintenant que je comprends ces choses, je n’aurai aucun problème à résoudre les problèmes courants qui en découlent.