C# Basisinvoer en -uitvoer
C# basisinvoer en uitvoer
In deze zelfstudie leren we hoe we input van de gebruiker kunnen nemen en de output in C# kunnen weergeven met behulp van verschillende methoden
C#-uitvoer
Om iets in C# uit te voeren, kunnen we
. gebruikenSystem.Console.WriteLine() OR System.Console.Write()
Hier, System
is een naamruimte, Console
is een klasse binnen naamruimte System
en WriteLine
en Write
zijn methoden van klasse Console
.
Laten we eens kijken naar een eenvoudig voorbeeld dat een string afdrukt naar het uitvoerscherm.
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 WriteLine() en Write() methode
Het belangrijkste verschil tussen WriteLine()
en Write()
is dat de Write()
methode drukt alleen de string af die eraan is gegeven, terwijl de WriteLine()
methode drukt de string af en gaat ook naar het begin van de volgende regel.
Laten we het onderstaande voorbeeld eens bekijken om het verschil tussen deze methoden te begrijpen.
Voorbeeld 2:Hoe de methode WriteLine() en Write() gebruiken?
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
Prints on New line Prints on Same line
Afdrukken van variabelen en literalen met WriteLine() en Write()
De WriteLine()
en Write()
methode kan worden gebruikt om variabelen en letterlijke waarden af te 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 (samenvoegen) met de operator + en ze afdrukken
Strings kunnen worden gecombineerd/aaneengeschakeld met behulp van de +
operator tijdens het afdrukken.
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
Hello World Value = 55
Aaneengeschakelde string afdrukken met Formatted String [Beter alternatief]
Een beter alternatief voor het afdrukken van aaneengeschakelde tekenreeksen is het gebruik van opgemaakte tekenreeksen. Met opgemaakte string kan de programmeur tijdelijke aanduidingen gebruiken voor variabelen. Bijvoorbeeld,
De volgende regel,
Console.WriteLine("Value = " + val);
kan worden vervangen door,
Console.WriteLine("Value = {0}", val);
{0}
is de tijdelijke aanduiding voor variabele val die zal worden vervangen door de waarde van val . Omdat er maar één variabele wordt gebruikt, is er dus maar één tijdelijke aanduiding.
Er kunnen meerdere variabelen worden gebruikt in de opgemaakte string. We zullen dat in het onderstaande voorbeeld zien.
Voorbeeld 5:Aaneengeschakelde tekenreeks afdrukken met 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 manier van afdrukken is beter leesbaar en minder foutgevoelig dan het gebruik van +
telefoniste.
Ga voor meer informatie over tekenreeksopmaak naar C# tekenreeksopmaak .
C#-invoer
In C# is de eenvoudigste methode om invoer van de gebruiker te krijgen het gebruik van de ReadLine()
methode van de Console
klas. Echter, Read()
en ReadKey()
zijn ook beschikbaar om input van de gebruiker te krijgen. Ze zijn ook opgenomen in Console
klasse.
Voorbeeld 6:tekenreeksinvoer van gebruiker
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:
Enter a string - Hello World You entered 'Hello World'
Verschil tussen ReadLine(), Read() en ReadKey() methode:
Het verschil tussen ReadLine()
, Read()
en ReadKey()
methode is:
ReadLine()
:DeReadLine()
methode leest de volgende invoerregel uit de standaard invoerstroom. Het geeft dezelfde string terug.Read()
:DeRead()
methode leest het volgende teken uit de standaard invoerstroom. Het geeft de ascii-waarde van het teken terug.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 Read() en ReadKey() methode
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
Press any key to continue... x Input using Read() - Learning C# Ascii Value = 76
Uit dit voorbeeld moet duidelijk zijn hoe ReadKey()
en Read()
methode werkt. Tijdens het gebruik van ReadKey()
, zodra de toets wordt ingedrukt, wordt deze op het scherm weergegeven.
Wanneer Read()
wordt gebruikt, duurt het een hele regel, maar retourneert alleen de ASCII-waarde van het eerste teken. Vandaar, 76
(ASCII-waarde van L
) wordt afgedrukt.
Numerieke waarden lezen (integer en floating point types)
Het lezen van een teken of string is heel eenvoudig in C#. Het enige wat u hoeft te doen is de corresponderende methoden aan te roepen zoals vereist.
Maar het lezen van numerieke waarden kan enigszins lastig zijn in C#. We gebruiken nog steeds dezelfde ReadLine()
methode die we hebben gebruikt voor het verkrijgen van tekenreekswaarden. Maar sinds de ReadLine()
methode de invoer als string ontvangt, moet deze worden geconverteerd naar integer of 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 lezen van gebruiker met behulp van Convert-klasse
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
Enter integer value: 101 You entered 101 Enter double value: 59.412 You entered 59.412
De ToInt32()
en ToDouble()
methode van de klasse Convert converteert de invoer van de tekenreeks naar respectievelijk integer en dubbel type. Op dezelfde manier kunnen we de invoer naar andere typen converteren. Hier is een volledige lijst van 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 lezen uit gebruikersinvoer.
C Taal
- Naar Cloud Infinity en verder
- Beveiliging en belangrijke voordelen van het gebruik van Cloud Linux
- C++ basisinvoer/uitvoer
- C Ingang Uitgang (I/O)
- Python invoer, uitvoer en import
- Java basis invoer en uitvoer
- Mailboxen:introductie en basisservices
- Semaphores:introductie en basisdiensten
- Wachtrijen:introductie en basisservices
- Python- en Raspberry Pi-temperatuursensor
- Analoge sensor input raspberry pi met behulp van een MCP3008:bedrading/installatie/basisprogramma