Aprenda los conocimientos básicos de C# requeridos por ASP.NET
Autor:Eve Cole
Fecha de actualización:2009-12-05 14:52:37
-
El libro de texto de ejemplo de Microsoft habla de tres lenguajes: c#, vb y Jscript. Para que todos puedan aprender cosas nuevas, aprendamos c#. Lo mejor es tener algunos conocimientos básicos de C++.
Pero no importa si no lo tienes, sólo tendrás que esforzarte un poco más.
Cualquier idioma tiene dos partes:
Datos + Gramática + Algoritmo
Los datos se utilizan para representar información y la sintaxis se utiliza para controlarla. Para decirlo sin rodeos, los algoritmos son algunas formas de pensar que las personas han resumido para resolver problemas. En cuanto a los datos, naturalmente hay estructuras de datos, y luego están las consultas, inserciones, modificaciones, etc.
1. Por supuesto, las variables se utilizan para almacenar datos. ¡Ahora hablemos del método de declaración en C#!
El método habitual es:
Tipo + nombre de variable
int x //Definir una variable entera
nombre de cadena, pwd; //Definir dos variables de caracteres
objeto x; //Definir el objeto
object obj=new object();//Crear una instancia basada en un objeto
public string x;//Agregue un modificador de tipo a la variable de carácter para que todos los usuarios puedan acceder a ella
Para explicar:
Al declarar variables, use minúsculas para palabras tipo int string object, porque c# distingue estrictamente entre mayúsculas y minúsculas. Es incorrecto usar INT x para definir variables.
Echemos un vistazo a dos programas:
/* Aprende cómo declarar variables
creado por vagabundo */
usando Sistema;
prueba de clase
{ principal vacío estático()
{intx=3;
Console.WriteLine("x={0}",x);
nombre de cadena = "vagabundo";
cadena pwd="197926";
Console.WriteLine("su nombre es:{0};contraseña es {1}",nombre,contraseña);
objeto y;
y=x;//conversión explícita
Console.WriteLine("y={0}",y);
}
}
2. Envía caracteres al navegador:
Lo anterior trata sobre el uso de System.Console.WriteLine para generar el valor de una variable en C#, pero en ASP.NET aún necesita usar el método Response.Write("char") del objeto Response, pero no puede omitir el paréntesis en este momento.
ejemplo:
<%@ idioma="C#" %>
<% nombre de cadena;
nombre="vagabundo";
Response.Write("su nombre es "+nombre);
%>
3. Acceda al valor del atributo de índice (tome los elementos del formulario como ejemplo)
Los amigos que han aprendido ASP saben que pueden usar Requst.Form ("nombre de objeto") para extraer el valor de un objeto de formulario, pero en asp.net, use Request.QueryString ["nombre"] para extraerlo.
4. Declarar atributos de índice
En asp.net necesitamos aprender conceptos de programación de eventos e indicadores de índice. A través del puntero de índice podemos acceder a la información de datos de la clase como una matriz. Primero construyamos un ejemplo simple:
usando Sistema;
claseEquipo
{
string[] s_name=new string[3]{"vagrant","jack","rose"};// Defina un campo de la clase y luego escriba la función constructora para que se pueda acceder a la clase externa a través del índice
cadena pública this[int nIndex]//Declaración de índice de acceso
{
conseguir {
return s_name[nIndex];//Proporciona acceso de lectura de clase extranjera
}
colocar {
s_name[nIndex]=value;//Proporcionar derechos de escritura de clases extranjeras
}
}
}
prueba de clase
{
público estático vacío principal(){
Team t1=new Team();//Crear una instancia de la clase Team
para(int i=0;i<3;i++)
Console.WriteLine(t1[i]);//Acceda a la información de datos de la instancia a través del indicador de índice
}
}
5. Definir e inicializar datos.
Cuando procesamos datos por lotes, a menudo usamos matrices. Al definir una matriz, debemos considerar tres cuestiones: tipo, nombre de datos y dimensión.
Permítanme usar datos unidimensionales como ejemplo. Después de todo, los datos unidimensionales se usan comúnmente.
Definir matriz:
cadena nombre de estudiante[]=nueva cadena[50];
inicialización:
Método uno.
nombre de estudiante[0]="vagabundo";
nombre de estudiante[1]="jack";
........
Método dos.
int[] sex=new int[2]{0,1};//0 representa hombre, 1 representa mujer
Esto es fácil de entender y no lo explicaré.
6. Estructuras y enumeraciones
La razón por la que hablo juntas de estructuras y enumeraciones es porque tienen similitudes y diferencias.
Estructura: Colección de información relacionada que forma una sola entidad. Una libreta de direcciones suele incluir: nombre, número de teléfono, dirección, etc.
Enumeración: Serie de datos lógicamente inseparables. Por ejemplo, hay días de lunes a domingo en la semana. Pero el lunes y el domingo son lógicamente inseparables.
Hay una diferencia entre los dos. Una estructura es una colección de datos, mientras que una enumeración solo puede tomar uno de ellos a la vez. Las estructuras y las enumeraciones son ambos tipos de estructuras de datos.
Definir tipos de datos estructurales:
estructura agenda telefónica {
nombre de cadena pública;
teléfono público;
dirección de cadena pública;
}
Definir una variable de este tipo de estructura.
Agenda telefónica p1;
Asignar valores a cada miembro de una variable de estructura
p1.name="vagabundo";
p1.phone="88888888";
p1.address="wuhan";
Definir el tipo de datos de enumeración y asignar valor
//Definir un tipo de enumeración
enumeración pública Tamaño del mensaje {
Pequeño = 0,
Medio = 1,
Grande = 2
}
//Crea una variable de tipo de enumeración
tamaño de mensaje público tamaño de mensaje;
//Asigna un valor a esta variable
tamañomensaje = Pequeño;
7. Declarar y utilizar métodos.
//Definir una función sin valor de retorno
función vacía vacía() {
...
}
//Declarar una subfunción con un valor de retorno
Función de cadena de cadena () {
...
return (String) val;//(string) indica el tipo de retorno
}
//Declarar una función que se pueda calcular
Función de parámetro de cadena (Cadena a, Cadena b) {
...
retorno (Cadena) (a + b);
}
// usar función
función vacía();
Cadena s1 = función de cadena();
String s2 = parmfunction("Hola", "¡Mundo!");
8. Declaraciones de control de procesos
No hay mucha diferencia entre las declaraciones de control de flujo en C# y C++. Es solo que se agrega un foreach a C# (que debería resultar familiar para los programadores de vb).
Lo peor del control de procesos es la selección y los bucles.
Uso de la declaración condicional if:
if(Requery.QueryString["nombre"]==null){
declaración....
}
Cuando hay demasiadas opciones, la declaración de cambio se usa comúnmente
Ejemplo:
cambiar (Nombre) {
caso "Juan":
...
romper;
caso "Pablo":
...
romper;
caso "Ringo" :
...
romper;
por defecto:
...
romper;
}
Generalmente hay dos tipos de declaraciones de bucle:
a.para bucle
para (int i=0; i<3; i++){
declaración...
}
b.mientras bucle
int yo = 0;
mientras (i<3) {
Console.WriteLine(i.ToString());//El propósito de i.ToString() es convertir i en un tipo de cadena
yo += 1;
}
9.Manejo de excepciones
Al escribir programas, a menudo nos encontramos con cosas que no podemos predecir de antemano. Por ejemplo, errores de entrada del usuario, memoria insuficiente, recursos de red no disponibles, bases de datos no disponibles, etc. Por tanto, deberíamos utilizar métodos de manejo de excepciones para solucionar este tipo de problemas. Todas las excepciones en C# son instancias de una clase, que hereda de la clase System.Exception
Primero introduzcamos la declaración de excepción de lanzamiento.
lanzar expresión
Esta declaración es una excepción generada al evaluar la expresión.
Declaración de manejo de excepciones:
try se utiliza para detectar excepciones que ocurren durante la ejecución del bloque.
cathc se utiliza para manejar esta excepción.
Método general:
intentar {
//Código que puede generar una excepción
} captura (OverflowException e) {
//Captura una excepción detallada
} captura (Excepción e) {
//Captura una excepción común
} finalmente {
//Ejecutar un código sin excepción
}
Eche un vistazo a una excepción escrita por Beibei que maneja errores de conexión a la base de datos:
intentar
{
OleDbConnection conn = getConn(); //getConn(): obtiene el objeto de conexión
Adaptador OleDbDataAdapter = nuevo OleDbDataAdapter();
string sqlstr="seleccione id, título, autor, imagen, visitas, hora de publicación del orden de notas por descripción de hora de publicación";
mydataset= nuevo System.Data.DataSet();
adaptador.SelectCommand = nuevo OleDbCommand(sqlstr, conn);
adaptador.Fill(mydataset,"notas");
conexión.Cerrar();
}
captura (Excepción e)
{
throw(nueva excepción("Error de base de datos:" + e.Message))
}
10. Procesamiento de cadenas
En C#, la cadena es un tipo de referencia, por lo que puede usar conexión y truncamiento
¡Lo sabrás después de leer el ejemplo a continuación!
// usar cadena
Cadena s1;
Cadena s2 = "hola";
s2 += "mundo";
s1 = s2 + "!!!";
//Utiliza el método Append de la clase StringBuilder
StringBuilder s3 = nuevo StringBuilder();
s3.Append("hola");
s3.Append("mundo");
s3.Append("!!!");
11.Manejo de eventos
Los eventos son miembros de una clase que envían notificaciones al mundo exterior.
Veamos primero un ejemplo representativo de procesamiento de eventos:
void MyButton_Click(Remitente del objeto,
argumentos de evento E) {
...
}
No sé mucho sobre esto. Escuché que quedará más claro después de ver MFC. Si alguien tiene experiencia en esta área, espero que pueda darme algún consejo.
12. declarar un evento
//Crear un evento público
evento público EventHandler MyEvent;
//Definir un método para este evento
vacío protegido OnMyEvent (EventArgs e) {
MiEvento(este, e);
}
13. Agregue OR a la causa para manejar el evento.
Control.Change += nuevo EventHandler(this.ChangeEventHandler);
Control.Change -= nuevo EventHandler (this.ChangeEventHandler);
14.Conversión de tipo
int i = 3;//Definir una variable entera y asignarle un valor
String s = i.ToString();//Convierte un entero a un tipo de cadena, usa ToString()
double d = Double.Parse(s);//Convierte el tipo de cadena a tipo de precisión doble usando Double.Parse(var);
Hay algunos otros que no explicaré. Profundicemos en ellos una vez que tengamos cierta base. De todos modos, ahora que entiendo estas cosas, no tendré ningún problema en lidiar con los problemas comunes que siguen.