Clasificación especial para usar un conjunto de clases y estructuras relacionadas, también se ocupa para aislar ese grupo de nombres en conjuntos e tipos de datos separados y distintos.
Es imposible tener dos clases con el mismo nombre en un espacio de nombres pero es posible que existan clases con el mismo nombre en espacios de nombres diferentes.
Los espacios de nombres pueden ser predefinidos o definidos por el usuario.
El .nt tiene clases en espacio de nombre predefinidos, por ejemplo: system.
Para definir un espacio de nombre se utiliza:
namespace NombreEspacio
{
clases de espacio de nombres
}
es la clase:
Unidad básica de la programación orientada a objetos. Todo programa en c# se organiza en clases que encapsulan datos y comportamientos.
Una clase se construye con la palabra class seguida del nombre de la clase y el símbolo de inicio y fin de un bloque para delimitar la codificación de sus miembros.
Ejemplo:
Clase: mesa (conceptos generales)
-> objetos: 4 patas, café., etc (caract. personales)
Clase: Animal
->Subclases: carnívoros, herbivoros
->->Objetos
de una clase se deriva un objeto y de una clase se deriva el programa que yo quiera.
MÉTODOS PARA ESCRIBIR DATOS
un método es reconocido por tener parentesis y por los parámetros que puede contener.
Los métodos usados para escribir datos en pantalla son:
1.- Write- escribe sin añadir el caracter de fin de linea a la cadena
2.- WriteLine- sí añade el caracter de fin de linea a la cadena, de modo que lo siguente que se escriba se colocara en la sigueiente linea.
Console.Write ("Hola");
Clase: Console
Método: Write con paréntesis.
cadena de caracteres: Hola (deben de estar entre ")
termina una ejecución con (;)
Ejemplos:
Console.Write("Hola");
Console.WriteLine("pepe");
Console.Write("¿Como estas, ");
Console.WriteLine("¿bien?");
Resultado en consola:
Holapepe
¿Cómo estas, ¿bien?
LENGUAJE DE PROGRAMACIÓN
Tiene 3 herramientas escenciales:
la declaración y el uso de variables, ciclos y condicionales.
Declaración y Uso de variables:La declaración y/o definición de variables se da en todos los lenguajes de programación. JavaScript en su versión 1.3 ofrece un mecanismo para saber si una variable ha sido inicializada o no; y esto lo consigue a través del valor Undefined. Este Undefined viene a decir, como resulta de su traducción: “con valor sin definir o desconocido”, corre por nuestra cuenta el que le asignemos un valor y tengamos control sobre esa variable. El objetivo al fin y al cabo es saber cómo las hemos definido o declarado para después poder usarlas correctamente.
También hemos de destacar el valor Null que parece ser utilizado para determinar si una variable tiene algún valor asignado o está vacía.
Definir o declarar en la jerga de los que escriben programas para ordenador es como lo mismo pues te dirán he definido o he declarado refiriéndose a la misma variable en diferentes partes de la conversación cuando se está depurando un programa que comentas con tu compañero, pues no da los resultados esperados.
En el ámbito de las funciones estos conceptos parecen estar más claro pues al hablar de “he definido una función” se refiere a su implementación y al hablar de “he declarado la función” se refiere al prototipado de la misma.
En algunos texto han hecho mención a la declaración de variable como una forma de dar a conocer al mundo entero, la existencia o materialización de un dato en el programa pasando posteriormente ha decir que ha sido definida con tal u cual valor.
Parece extraño hablar de estos términos y discernir si es o no lo mismo, pero te topas con ellos tan pronto como decides querer iniciarte en la programación de ordenadores.
Cíclos y condicionales:
C# NET CICLO FOR
Instrucciones para ciclos resuelven el problema de repetir todo el programa o cierta parte del programa mas de una vez.
En C SHARP NET este ciclo es uno de los mas usados para repetir una secuencia de instrucciones sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.
Su formato general es:
for (inicialización; condición; incremento)
{ instrucción(es); };
En su forma simple la inicialización es una instrucción de asignación que carga una variable de control de ciclo con un valor inicial.
CICLO WHILE C# NET
En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte en falsa el ciclo termina.
Su formato general es :
cargar o inicializar variable de condición;
while(condición)
{
grupo cierto de instrucciones;
instrucción(es) para salir del ciclo;
};
prog14.aspx:
La condición es una expresión relacional que evalúa la variable de control de ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo.
El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el computador repite un ciclo.
Se deben separar esos 3 argumentos con punto y coma (;)
El preprocesador no interpreta de ninguna manera el código fuente del fichero, sino que sólo interpreta de dicho fichero lo que se denominan directivas de preprocesado. Estas directivas son líneas de texto del fichero fuente que se caracterizan porque en ellas el primer carácter no blanco que aparece es una almohadilla (carácter #) Por ejemplo:
#define TEST
#error Ha habido un error fatal
No se preocupe ahora si no entiendo el significado de estas directivas, ya que se explicarán más adelante. Lo único debe saber es que el nombre que se indica tras el símbolo # es el nombre de la directiva, y el texto que se incluye tras él (no todas las directivas tienen porqué incluirlo) es el valor que se le da. Por tanto, la sintaxis de una directiva es:
#
Es posible incluir comentarios en la misma línea en que se declara una directiva, aunque estos sólo pueden ser comentarios de una línea que empiecen con // Por ejemplo, el siguiente comentario es válido:
#define TEST // Ha habido algún error durante el preprocesado
Pero este otro no, pues aunque ocupa una línea tiene la sintaxis de los comentarios que pueden ocupar varias líneas:
#define TEST /* Ha habido algún error durante el preprocesado */
Como se ha repetido varias veces a lo largo del tema, la principal utilidad del preprocesador en C# es la de permitir la compilación de código condicional, lo que consiste en sólo permitir que se compile determinadas regiones de código fuente si las variables de preprocesado definidas cumplen alguna condición determinada. Para conseguir esto se utiliza el siguiente juego de directivas:
#if
#elif
...
#else
#endif
El significado de una estructura como esta es que si se cumple entonces se pasa al compilador el , si no ocurre esto pero se cumple entonces lo que se pasaría al compilador sería , y así continuamente hasta que se llegue a una rama #elif cuya condición se cumpla. Si no se cumple ninguna pero hay una rama #else se pasará al compilador el , pero si dicha rama no existiese entonces no se le pasaría código alguno y se continuaría preprocesando el código siguiente al #endif en el fuente original.
Aunque las ramas #else y #endif son opcionales, hay que tener cuidado y no mezclarlas ya que la rama #else sólo puede aparecer como última rama del bloque #if...#endif.
Es posible anidar varias estructuras #if...#endif, como muestra el siguiente código:
#define PRUEBA
using System;
class A
{
public static void Main()
{
#if PRUEBA
Console.Write (“Esto es una prueba”);
#if TRAZA
Console.Write(“ con traza”);
#elif !TRAZA
Console.Write(“ sin traza”);
#endif
#endif
}
}
Como se ve en el ejemplo, las condiciones especificadas son nombres de identificadores de preprocesado, considerándose que cada condición sólo se cumple si el identificador que se indica en ella está definido. O lo que es lo mismo: un identificador de preprocesado vale cierto (true en C#) si está definido y falso (false en C#) si no.
El símbolo ! incluido en junto al valor de la directiva #elif es el símbolo de “no” lógico, y el #elif en el que se usa lo que nos permite es indicar que en caso de que no se encuentre definido el identificador de preprocesado TRAZA se han de pasar al compilador las instrucciones a continuación indicadas (o sea, el Console.Write(“sin traza”);)
El código fuente que el preprocesador pasará al compilador en caso de que compilemos sin especificar ninguna opción /d en la llamada al compilador será:
using System;
class A
{
public static void Main()
{
Console.Write(“Esto es una prueba”);
Console.Write(“ sin traza”);
}
}
Nótese como en el código que se pasa al compilador ya no aparece ninguna directiva de preprocesado, pues lo que el preprocesador le pasa es el código resultante de aplicar al original las directivas de preprocesado que contuviese.
Asimismo, si compilásemos el código fuente original llamando al compilador con /d:TRAZA, lo que el preprocesador pasaría al compilador sería:
using System;
class A
{
public static void Main()
{
Console.Write (“Esto es una prueba”);
Console.Write(“ sin traza”);
}
}
Hasta ahora solo hemos visto que la condición de un #if o #elif puede ser un identificador de preprocesado, y que este valdrá true o false según esté o no definido. Pues bien, estos no son el único tipo de condiciones válidas en C#, sino que también es posible incluir condiciones que contengan expresiones lógicas formadas por identificadores de preprocesado, operadores lógicos (! para “not”, && para “and” y || para “or”), operadores relacionales de igualdad (==) y desigualdad (!=), paréntesis (( y )) y los identificadores especiales true y false. Por ejemplo:
#if TRAZA // Se cumple si TRAZA esta definido.
#if TRAZA==true // Idem al ejemplo anterior aunque con una sintaxis menos cómoda
#if !TRAZA // Sólo se cumple si TRAZA no está definido.
#if TRAZA==false // Idema al ejemplo anterior aunque con una sintaxis menos cómoda
#if TRAZA == PRUEBA // Solo se cumple si tanto TRAZA como PRUEBA están // definidos o si no ninguno lo está.
#if TRAZA != PRUEBA // Solo se cumple si TRAZA esta definido y PRUEBA no o // viceversa
#if TRAZA && PRUEBA // Solo se cumple si están definidos TRAZA y PRUEBA.
#if TRAZA || PRUEBA // Solo se cumple si están definidos TRAZA o PRUEBA.
#if false // Nunca se cumple (por lo que es absurdo ponerlo)
#if true // Siempre se cumple (por lo que es absurdo ponerlo)
Es fácil ver que la causa de la restricción antes comentada de que no es válido dar un como nombre true o false a un identificador de preprocesado se debe al significado especial que estos tienen en las condiciones de los #if y #elif
A toda variable que se use en un programa, se debera declarar de preferencia al principio del programa.
En C# NET (tambien se le conoce como C# ) existen los siguientes tipos de variables:
En particular cada tipo de dato que se menciona aqui es en realidad un OBJETO, que se deriva a su vez de una clase que provee el framework de microsoft net es por eso que se incluye la clase de la cual proviene el tipo de dato.
Es decir en un programa se podra declarar una variable por ejemplo float pi; o tambien se podra declarar y crear un objeto derivado de esa clase, por ejemplo System.Float alfa = new System.Float(); para este caso observar y tener en cuenta dos cosas:
Observar como se declara y crea un objeto ( este formato de creación de objetos aprenderlo bien).
Como objeto alfa podra usar todas las propiedades y metodos asociadas al objeto, mas adelante se ve un tema donde se analiza mas a fondo el concepto de clases y objetos.
Signed significa que se puede usar el signo + o - al usar la variable.
Por ultimo variables strings o variables cadena, se podran crear usando la clase STRING que creara un objeto de dicho tipo.
Para declarar un variable en un script o programa solo usar el siguiente formato:
Tipo de dato lista de variables; ejemplo:
string nombre, ciudad;
int alfa, beta;
string ciudad=“tijuana”;
float pi=3.1416;
Para el caso de objetos numericos derivados de la clase respectiva, solo usar el formato que se indico en los parrafos de arriba.
Recordar que c# net es case-sensitive, es decir reconoce la diferencia que hay entre mayusculas y minusculas, en otras palabras no declarar alfa e intentar capturar o desplegar ALFA.
Para convertir numeros a strings no hay problema, solo cargar o asignar el numero o variable numerica a la variable string, pero para convertir strings a numeros existen y deberan usarse los metodos Parse de las clases respectivasejemplo;
String beta1=“100”;
Int beta2 = System.Int32.Parse(beta1);