In deze tutorial zullen we leren hoe we input van de gebruiker kunnen nemen en output in C # kunnen weergeven met behulp van verschillende methoden
C # -uitvoer
Om iets in C # uit te voeren, kunnen we gebruiken
System.Console.WriteLine () OF System.Console.Write ()
Hier System
is een naamruimte, Console
is een klasse binnen de naamruimte System
en WriteLine
en Write
zijn methodes van klasse Console
.
Laten we eens kijken naar een eenvoudig voorbeeld dat een string naar het uitvoerscherm afdrukt.
Voorbeeld 1: string afdrukken met WriteLine ()
using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("C# is cool"); ) ) )
Wanneer we het programma uitvoeren, is de uitvoer
C # is cool
Verschil tussen de methode WriteLine () en Write ()
Het belangrijkste verschil tussen WriteLine()
en Write()
is dat de Write()
methode alleen de tekenreeks afdrukt die eraan is verstrekt, terwijl de WriteLine()
methode de tekenreeks afdrukt en ook naar het begin van de volgende regel gaat.
Laten we het onderstaande voorbeeld eens bekijken om het verschil tussen deze methoden te begrijpen.
Voorbeeld 2: Hoe gebruik je de methode WriteLine () en 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"); ) ) )
Wanneer we het programma uitvoeren, is de uitvoer
Afdrukken op nieuwe regel Afdrukken op dezelfde regel
Variabelen en letterlijke tekens afdrukken met WriteLine () en Write ()
De WriteLine()
en Write()
werkwijze kunnen worden gebruikt om variabelen en letterlijke drukken. Hier is een voorbeeld.
Voorbeeld 3: Variabelen en literalen afdrukken
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int value = 10; // Variable Console.WriteLine(value); // Literal Console.WriteLine(50.05); ) ) )
Wanneer we het programma uitvoeren, is de uitvoer
10 50.05
Twee strings combineren (aaneenschakelen) met de operator + en ze afdrukken
Strings kunnen +
tijdens het afdrukken worden gecombineerd / aaneengeschakeld met de operator.
Voorbeeld 4: aaneengeschakelde tekenreeks afdrukken met de operator +
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int val = 55; Console.WriteLine("Hello " + "World"); Console.WriteLine("Value = " + val); ) ) )
Wanneer we het programma uitvoeren, is de uitvoer
Hallo wereldwaarde = 55
Aaneengeschakelde tekenreeks afdrukken met opgemaakte tekenreeks (beter alternatief)
Een beter alternatief voor het afdrukken van aaneengeschakelde tekenreeksen is het gebruik van opgemaakte tekenreeksen. Met een opgemaakte tekenreeks kan de programmeur tijdelijke aanduidingen voor variabelen gebruiken. Bijvoorbeeld,
De volgende regel,
Console.WriteLine ("Value =" + val);
kan worden vervangen door,
Console.WriteLine ("Waarde = (0)", val);
(0)
is de tijdelijke aanduiding voor variabele val die wordt vervangen door de waarde van val. Omdat er maar één variabele wordt gebruikt, is er maar één tijdelijke aanduiding.
Er kunnen meerdere variabelen worden gebruikt in de opgemaakte tekenreeks. We zullen dat zien in het onderstaande voorbeeld.
Voorbeeld 5: aaneengeschakelde tekenreeks afdrukken met behulp van tekenreeksopmaak
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); ) ) )
Wanneer we het programma uitvoeren, is de uitvoer
5 + 10 = 15
Hier (0)
wordt vervangen door firstNumber, (1)
wordt vervangen door secondNumber en (2)
wordt vervangen door resultaat. Deze benadering van afdrukuitvoer is beter leesbaar en minder foutgevoelig dan het gebruik van een +
operator.
Ga voor meer informatie over het opmaken van tekenreeksen naar C # tekenreeksopmaak.
C # -invoer
In C # is de eenvoudigste methode om invoer van de gebruiker te krijgen, door de ReadLine()
methode van de Console
klasse te gebruiken. Echter, Read()
en ReadKey()
zijn ook beschikbaar voor het verkrijgen van input van de gebruiker. Ze zijn ook bij de Console
les inbegrepen .
Voorbeeld 6: tekenreeksinvoer van gebruiker ophalen
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); ) ) )
Wanneer we het programma uitvoeren, is de uitvoer:
Voer een tekenreeks in - Hallo wereld U hebt 'Hallo wereld' ingevoerd
Verschil tussen ReadLine (), Read () en ReadKey () methode:
Het verschil tussen ReadLine()
, Read()
en ReadKey()
methode is:
ReadLine()
: DeReadLine()
methode leest de volgende regel invoer uit de standaard invoerstroom. Het retourneert dezelfde string.Read()
: DeRead()
methode leest het volgende teken uit de standaard invoerstroom. Het retourneert de ascii-waarde van het teken.ReadKey()
: DeReadKey()
methode verkrijgt de volgende toets die door de gebruiker wordt ingedrukt. Deze methode wordt meestal gebruikt om het scherm vast te houden totdat de gebruiker op een toets drukt.
Als u meer wilt weten over deze methoden, vindt u hier een interessante discussie over StackOverflow over: Verschil tussen Console.Read () en Console.ReadLine () ?.
Voorbeeld 7: verschil tussen de methode Read () en 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); ) ) )
Wanneer we het programma uitvoeren, is de uitvoer
Druk op een willekeurige toets om door te gaan … x Voer in met Read () - Learning C # Ascii Value = 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.
Een eenvoudige benadering voor het converteren van onze invoer is het gebruik van de methoden van Convert
klasse.
Voorbeeld 8: Numerieke waarden van de gebruiker lezen met de klasse Convert
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); ) ) )
Wanneer we het programma uitvoeren, is de uitvoer
Voer een geheel getal in: 101 U hebt 101 ingevoerd Voer een dubbele waarde in: 59.412 U heeft 59.412 ingevoerd
De ToInt32()
en ToDouble()
werkwijze Convert klasse zet de stringingang integer en dubbeltype resp. Evenzo kunnen we de invoer naar andere typen converteren. Hier is een complete lijst met beschikbare methoden voor de Convert-klasse.
Er zijn andere manieren om numerieke invoer van de gebruiker te krijgen. Ga voor meer informatie naar Een geheel getal uit gebruikersinvoer lezen.