Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Variables

8/26
Recursos

Aportes 29

Preguntas 11

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Vamo a darle

Hay tres tipos de conversión de datos en C#

  • Conversión implícita
  • Conversión explicita
  • Conversión entre tipos no compatibles

La conversión implícita se da cuando convertimos un tipo de doto que ocupa un tamaño menor en memoria a un que ocupa uno mayor por ejemplo:

byte b = 1;
int i = b;

En este ejemplo estamos convirtiendo un tipo de dato byte que ocupa un solo byte en memoria a un un tipo de dato int que ocupa 4 bytes en memoria. Lo que ocurre internamente en memoria es:

b = 00000001
i = 00000000 00000000 00000000 00000001

La variable b esta compuesta de 7 ceros y un 1 y al convertir esta variable a un tipo de dato int C# añade 24 ceros para completar los 4 bytes, por lo que no hay perdida de información.

En el caso contrario

int i = 1;
byte b = i;

Para realizar la conversión se necesitan eliminar 4 bytes de información por lo que C# no permite convertir los datos ya que podría haber una perdida de información. Para realizar esta conversión tenemos que expresar de forma explicita la conversión para decirle a C# que estamos seguros de realizarla. A esto se le conoce como casteo de datos. El casteo de datos en C# se hace de la siguiente forma:

int i = 1;
byte b = (byte)i;

Pero que pasa si tratamos de castear datos que no son compatibles por ejemplo:

string s = "1";
int i = (int)s;

Esta instrucción no va a compilar por que los tipos nos son compatibles y el casteo no funciona. Esto se debe a que la forma en la que se guarda la información de cadena de texto y un número son diferentes. Para realizar esta conversión podemos hacer uso de los métodos predefinidos como los siguientes:

string s = "1";
int i = Convert.ToInt32(s);
int j = int.Parse(s);

Todos los tipos de datos en C# poseen el método Parse que convierte una cadena de caracteres en su tipo de dato, en este caso int. La clase Convert posee varios métodos para convertir una cadena de caracteres en varios tipos de datos:

  • ToByte()
  • ToInt16()
  • ToInt32()
  • ToInt64()

Los números 16, 32 y 64 corresponden al número se bits que son equivalentes a 2, 4 y 8 bytes.

Las conversiones funcionan de dos formas y son las siguientes:
IMPLICITAS: Estas las realiza de forma automática C# cuando asignamos una valor de un mismo tipo de menor cantidad en espacio de memoria a uno de mayor ejemplo pasar un int a long, asignando el valor int a una variable long.
EXPLICITAS: Son conversiones que debemos especificar debido a que C# no sabe realmente a que tipo de dato queremos asignar lo que estamos tratando de guardar en una variable, ejemplo: convertir un string a un int.

No me gusto la nueva forma de VS2022, creo que me regire por lo clasico esciribinedo toda la sintaxis del VS2019.

Para convertir en entero también se puede utilizar Int32.Parse( variableAConvertir );

  • El método WriteLine()

Este método es el que se usa para mostrar texto en la consola, el método escribe en la pantalla el valor que le pasemos como parámetro. El parámetro que recibe el método puede ser de varios tipos, ya sea una cadena de caracteres, un número entero, una línea en blanco, etc.

  • El método ReadLine()

Este método se utiliza para recoger la información que el usuario introduce cuando la aplicación así lo requiera.

Para los que les interese también se puede mostrar las variables de esta manera, aquí el contenido de la variable se muestra en lugar de “{0}”

int result = numberOne * numberTwo;
Console.WriteLine("The result is: {0}", result);

En esta forma si quieres utilizar más variables haces esto:

int result = numberOne * numberTwo;
Console.WriteLine("The result {0} X {1} = {2}", numberOne, numberTwo, result);

Observen que cada numero corresponde a una variable según el orden.

Me pareció muy útil la práctica para declarar variables:
Camel Case: Es la práctica de escribir frases sin espacios ni puntuación, indicando la separación de palabras con una sola letra en mayúscula, la primera palabra en minúscula.
Aquí les dejo este enlace donde muestra otros estilos como Camel, Pascal, Snake, and Kebab
https://betterprogramming.pub/string-case-styles-camel-pascal-snake-and-kebab-case-981407998841

PascalCase es como camelCase pero empezando con mayúscula.

cw + TAB y te crea el Console.WriteLine(); de golpe.

Que genial que usemos el nuevo framework 😄

Hace aproximadamente 10 años llevé un poco de VIsual Basic, la verdad es que, con esta clase, no pude evitar acordarme de los primeros ejercicios que nos hicieron hacer con variables: una suma y resta pero con la condicional de que el usuario eligiera que tipo de operación necesitaba. Aquí hice mi pequeño intento sin haber visto la parte de condicionales en C#.

Me estaba asustando al inicio, pero pues ahora estoy feliz 💚

//Declaring many variables
int x = 12, y = 5, z = x + y;
Console.WriteLine("The operation x + y is equal to \n" + z);


//String
string myName = "Nicolas";
Console.WriteLine(myName);

El operador de suma + permite concatenar cadenas cuando las variables u objetos que se utilizan son de tipo string o char, se puede añadir a la concatenación un objeto tipo numérico siempre y cuando exista también un tipo string.

hay vamos repasando Conceptos

// See https://aka.ms/new-console-template for more information
using System;
class WelcomeToPlatzi
{

    static void Main(string []args)

    {
        Console.WriteLine("What your name? Please Write You Full Name ");
        var FullYouName = Console.ReadLine();
        Console.WriteLine("My name is " + FullYouName);

        Console.WriteLine("Hello " + FullYouName + " " + " Wellcome To Platzi");
    }




¿Qué es una variable? 🤔

  • Una variable es como un contenedor que se usa para almacenar valores, estos valores se pueden usar más adelante en el código.
  • Una variable es un elemento de datos que puede cambiar su valor durante su ciclo de vida.
  • Una variable es una etiqueta descriptiva que se puede asignar a una dirección en memoria del equipo, si se quiere recuperar el valor almacenado en la dirección de memoria, simplemente se usa el nombre de la variable creada.
  • Una variable posee un tipo, nombre y valor.
    ㅤㅤ

1️⃣ Declarar una variable con tipo explícito

Para declarar una variable en C#, primero se declara el tipo de dato y luego se asigna un nombre.

string firstName;

ㅤㅤ

2️⃣ Declarar una variable con tipo implícito

Para crear una variable de tipo implícito se utiliza la palabra clave var, se asigna un nombre y se inicializa. Es importante entender que si intenta usar la palabra clave var sin inicializar, aparecerá un error (error CS0818: Implicitly-typed variables must be initialized).

var message = "Hello C#";

😎 A diferencia de otros lenguajes de programación la palabra clave var se usa de manera distinta. En C#, el tipo de datos se bloquea en el momento de la declaración y, por tanto, nunca puede contener valores de otro tipo de datos.

ㅤㅤ

3️⃣ Declarar una constante

Para crear una constante se usa la palabra clave const. Las constantes son un tipo de dato invariable, su valor se establece en tiempo de compilación.
Se usan de forma muy similar a las variables, con la diferencia de que no podemos modificar su valor durante la ejecución.

const double PI = 3.14159;

tardo más en nombrar las variables que en organizar la lógica 😦

  • Conversiones implícitas

    Las conversiones implícitas son aquellas para las que no hace falta indicar entre paréntesis (…) la conversión:

double variable = 10; 
  • Conversiones explícitas

    • Precisamente colocar entra paréntesis el tipo de dato al que queremos convertirlo, es lo que se llama hacer una conversión explícita, es decir, mediante esa sintaxis estamos indicando de manera explícita e inequívoca al compilador que queremos convertir un tipo de dato a otro diferente.

Llegados a este punto, me podrías decir que también funciona una línea como esta:

double variable = (double)10;

Muy variable

Esta clase me ha servido para poder retroalimentar mi conocimiento. Muchas gracias.


    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("What's your name? Please write your full name");
            var fullUserName = Console.ReadLine();
            Console.WriteLine("My name is " + fullUserName);
            Console.WriteLine("Hello " + fullUserName + ", Welcome to Platzi");
        }
    }

Una variable en cualquier lenguaje, es un espacio reservado en memoria (como una caja) donde podemos guardar un dato.

Excelente hasta ahora, les cuento que este será uno de los lenguajes que desarrollaré en mi nuevo trabajo 😃

No tenía idea que C# tenía inferencia de tipos, la inferencia de tipo generalmente utiliza más memoria para inferir el tipo de dato. No es muy recomendable utilizarlo en todo nuestro programa, pero si nos puede facilitar la inferencia en algunas variables o estructuras de datos.

Qué bueno que cambiaste a VS22, es con la que empecé el curso y me va a ser más fácil