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 System
je jmenný prostor, Console
je to třída v rámci jmenného prostoru System
a WriteLine
a Write
jsou 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 Console
třídy. Nicméně, Read()
a ReadKey()
jsou také k dispozici pro získání vstupu od uživatele. Jsou také součástí Console
tří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 Convert
tří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.