Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Fundamentos de C#: Entrada y salida esenciales

Fundamentos de C#: Entrada y salida esenciales

Esta guía recorre las técnicas básicas de entrada y salida en C#, mostrando cómo leer datos del usuario y mostrar resultados de forma fiable.

Salida en C#

Para escribir datos en la consola, C# ofrece dos métodos principales:

System.Console.WriteLine()
System.Console.Write()

Aquí, System es el espacio de nombres, Console una clase dentro de ese espacio, y WriteLine y Write son sus métodos.

Ejemplo 1: Imprimir una cadena con WriteLine()

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            Console.WriteLine("C# is cool");
        }
    }
}

Resultado:

C# is cool

Diferencia entre WriteLine() y Write()

WriteLine() muestra el texto y avanza a la siguiente línea, mientras que Write() imprime sin añadir salto de línea.

Ejemplo 2: Usando WriteLine() y Write()

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            Console.WriteLine("Prints on ");
            Console.WriteLine("New line");
            Console.Write("Prints on ");
            Console.Write("Same line");
        }
    }
}

Salida:

Prints on New line Prints on Same line

Imprimir variables y literales

Tanto WriteLine() como Write() pueden mostrar variables y literales.

Ejemplo 3: Variables y literales

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int value = 10; // Variable
            Console.WriteLine(value); // Literal
            Console.WriteLine(50.05);
        }
    }
}

Resultado:

10 50.05

Concatenar cadenas con el operador +

Las cadenas pueden combinarse usando el operador + durante la salida.

Ejemplo 4: Salida concatenada

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int val = 55;
            Console.WriteLine("Hello " + "World");
            Console.WriteLine("Value = " + val);
        }
    }
}

Resultado:

Hello World Value = 55

Cadenas con formato: Un enfoque más limpio

Las cadenas con formato permiten insertar marcadores de posición que se reemplazan en tiempo de ejecución, mejorando la legibilidad y reduciendo errores.

En lugar de:

Console.WriteLine("Value = " + val);

use:

Console.WriteLine("Value = {0}", val);

Aquí, {0} es un marcador para val. Múltiples variables se manejan con marcadores adicionales.

Ejemplo 5: Usando formato de cadena

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int firstNumber = 5, secondNumber = 10, result;
            result = firstNumber + secondNumber;
            Console.WriteLine("{0} + {1} = {2}", firstNumber, secondNumber, result);
        }
    }
}

Salida:

5 + 10 = 15

Este método es más legible y menos propenso a errores que la concatenación manual.


Entrada en C#

La forma más sencilla de capturar entrada del usuario es Console.ReadLine(). Para entrada más granular, también están Read() y ReadKey().

Ejemplo 6: Leyendo una cadena del usuario

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            string testString;
            Console.Write("Enter a string - ");
            testString = Console.ReadLine();
            Console.WriteLine("You entered '{0}'", testString);
        }
    }
}

Salida:

Enter a string - Hello World You entered 'Hello World'

Entendiendo ReadLine(), Read() y ReadKey()

Ejemplo 7: Demostrando Read() y ReadKey()

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int userInput;
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
            Console.WriteLine();
            Console.Write("Input using Read() - ");
            userInput = Console.Read();
            Console.WriteLine("Ascii Value = {0}", userInput);
        }
    }
}

Salida:

Press any key to continue... x Input using Read() - Learning C# Ascii Value = 76

Observa que ReadKey() muestra la tecla inmediatamente, mientras que Read() captura una línea pero solo devuelve el código ASCII del primer carácter (aquí 76 para 'L').


Lectura de valores numéricos

Mientras las cadenas se leen directamente, los tipos numéricos requieren conversión. La clase Convert proporciona métodos directos.

Ejemplo 8: Convirtiendo entrada de usuario a números

using System;
namespace UserInput {
    class MyClass {
        public static void Main(string[] args) {
            string userInput;
            int intVal;
            double doubleVal;
            Console.Write("Enter integer value: ");
            userInput = Console.ReadLine();
            intVal = Convert.ToInt32(userInput);
            Console.WriteLine("You entered {0}", intVal);
            Console.Write("Enter double value: ");
            userInput = Console.ReadLine();
            doubleVal = Convert.ToDouble(userInput);
            Console.WriteLine("You entered {0}", doubleVal);
        }
    }
}

Resultado:

Enter integer value: 101 You entered 101 Enter double value: 59.412 You entered 59.412

Los métodos ToInt32() y ToDouble() de Convert transforman la cadena de entrada al tipo numérico deseado. La lista completa de métodos de conversión está en la documentación de .NET.

Lenguaje C

  1. Construya un sensor de temperatura remoto con Raspberry Pi y Python – Guía paso a paso
  2. Conectar sensores analógicos a Raspberry Pi con MCP3008: cableado, configuración SPI y código Python
  3. Buzones en Nucleus SE: Guía práctica de configuración y uso
  4. Semaforos en Nucleus SE: Visión general, configuración y API esenciales
  5. Colas en Nucleus SE: Introducción y llamadas de servicio principales
  6. Expandiendo horizontes cloud: Nuevas zonas, contenedores y estrategias multicloud
  7. Por qué Cloud Linux impulsa seguridad, estabilidad y rendimiento en hosting compartido
  8. Dominando la Entrada y Salida en C++: Guía Práctica
  9. Dominando la entrada/salida en C: scanf() y printf() explicados
  10. Dominando E/S e importación de módulos en Python: Guía práctica
  11. Dominar Entrada y Salida en Java: Imprimir, Leer y Formatear Datos