C # Základní vstup a výstup

V tomto kurzu se naučíme, jak převzít vstup od uživatele a zobrazit výstup v C # pomocí různých metod

C # výstup

Za účelem výstupu něco v C #, můžeme použít

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

Zde Systemje jmenný prostor, Consoleje to třída v rámci jmenného prostoru Systema WriteLinea Writejsou to metody třídy Console.

Podívejme se na jednoduchý příklad, který vytiskne řetězec na výstupní obrazovku.

Příklad 1: Tisk řetězce pomocí WriteLine ()

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

Když spustíme program, výstup bude

 C # je v pohodě

Rozdíl mezi metodou WriteLine () a Write ()

Hlavní rozdíl mezi WriteLine()a Write()spočívá v tom, že Write()metoda vytiskne pouze poskytnutý řetězec, zatímco WriteLine()metoda vytiskne řetězec a přesune se také na začátek dalšího řádku.

Podívejme se na níže uvedený příklad, abychom pochopili rozdíl mezi těmito metodami.

Příklad 2: Jak používat metodu WriteLine () a 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"); ) ) ) 

Když spustíme program, výstup bude

 Tisk na nový řádek Tisk na stejný řádek

Tisk proměnných a literálů pomocí WriteLine () a Write ()

WriteLine()A Write()metoda může být použita pro tisk proměnných a literály. Zde je příklad.

Příklad 3: Tisk proměnných a literálů

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

Když spustíme program, výstup bude

 10 50,05

Kombinace (zřetězení) dvou řetězců pomocí operátoru + a jejich tisk

Řetězce lze +během tisku kombinovat / zřetězit pomocí operátoru.

Příklad 4: Tisk zřetězeného řetězce pomocí operátoru +

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

Když spustíme program, výstup bude

 Hodnota Hello World = 55

Tisk zřetězeného řetězce pomocí formátovaného řetězce (lepší alternativa)

Lepší alternativou pro tisk zřetězeného řetězce je použití formátovaného řetězce. Formátovaný řetězec umožňuje programátorovi používat zástupné symboly pro proměnné. Například,

Následující řádek,

 Console.WriteLine ("Hodnota =" + hodnota);

lze nahradit

 Console.WriteLine ("Hodnota = (0)", hodnota);

(0)je zástupný symbol pro proměnnou val, která bude nahrazena hodnotou val. Protože se používá pouze jedna proměnná, existuje pouze jeden zástupný symbol.

Ve formátovaném řetězci lze použít více proměnných. To uvidíme v níže uvedeném příkladu.

Příklad 5: Tisk zřetězeného řetězce pomocí formátování řetězce

 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); ) ) ) 

Když spustíme program, výstup bude

 5 + 10 = 15

Zde (0)je nahrazeno firstNumber, (1)je nahrazeno secondNumber a (2)je nahrazeno výsledkem. Tento přístup k tiskovému výstupu je čitelnější a méně náchylný k chybám než použití +operátoru.

Chcete-li se dozvědět více o formátování řetězců, navštivte formátování řetězce C #.

C # vstup

V C # je nejjednodušší způsob, jak získat vstup od uživatele, pomocí ReadLine()metody Consoletřídy. Nicméně, Read()a ReadKey()jsou také k dispozici pro získání vstupu od uživatele. Jsou také součástí Consoletřídy.

Příklad 6: Získejte řetězcový vstup od uživatele

 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); ) ) ) 

Když spustíme program, výstup bude:

 Zadejte řetězec - Hello World Zadali jste „Hello World“

Rozdíl mezi metodou ReadLine (), Read () a ReadKey ():

Rozdíl mezi ReadLine(), Read()a ReadKey()metoda je:

  • ReadLine(): ReadLine()Metoda čte další řádek vstupu ze standardního vstupního proudu. Vrátí stejný řetězec.
  • Read(): Read()Metoda načte další znak ze standardního vstupního proudu. Vrátí hodnotu ascii znaku.
  • ReadKey(): ReadKey()Metoda získá další klávesu stisknutou uživatelem. Tato metoda se obvykle používá k podržení obrazovky, dokud uživatel nestiskne klávesu.

Pokud se chcete o těchto metodách dozvědět více, je zde zajímavá diskuse o StackOverflow na: Rozdíl mezi Console.Read () a Console.ReadLine () ?.

Příklad 7: Rozdíl mezi metodou Read () a 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); ) ) )

Když spustíme program, výstup bude

 Stisknutím libovolné klávesy pokračujte… x Vstup pomocí Read () - učení hodnoty C # Ascii = 76

From this example, it must be clear how ReadKey() and Read() method works. While using ReadKey(), as soon as the key is pressed, it is displayed on the screen.

When Read() is used, it takes a whole line but only returns the ASCII value of first character. Hence, 76 (ASCII value of L) is printed.

Reading numeric values (integer and floating point types)

Reading a character or string is very simple in C#. All you need to do is call the corresponding methods as required.

But, reading numeric values can be slightly tricky in C#. We’ll still use the same ReadLine() method we used for getting string values. But since the ReadLine() method receives the input as string, it needs to be converted into integer or floating point type.

Jeden jednoduchý přístup k převodu našeho vstupu je použití metod Converttřídy.

Příklad 8: Čtení číselných hodnot od uživatele pomocí třídy Převést

 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(); /* Converts to integer type */ intVal = Convert.ToInt32(userInput); Console.WriteLine("You entered (0)",intVal); Console.Write("Enter double value: "); userInput = Console.ReadLine(); /* Converts to double type */ doubleVal = Convert.ToDouble(userInput); Console.WriteLine("You entered (0)",doubleVal); ) ) ) 

Když spustíme program, výstup bude

 Zadejte celočíselnou hodnotu: 101 Zadali jste 101 Zadejte dvojitou hodnotu: 59,412 Zadali jste 59,412

Metoda ToInt32()a ToDouble()metoda Convert převede vstup řetězce na celé číslo a na dvojitý typ. Podobně můžeme převést vstup na jiné typy. Zde je kompletní seznam dostupných metod pro převod třídy.

Existují i ​​jiné způsoby, jak získat číselné vstupy od uživatele. Další informace najdete v článku Čtení celého čísla ze vstupu uživatele.

Zajímavé články...