I den här handledningen lär vi oss hur man tar inmatning från användare och och visar utdata i C # med hjälp av olika metoder
C # utgång
För att mata ut något i C # kan vi använda
System.Console.WriteLine () ELLER System.Console.Write ()
Här System
är ett namnområde, Console
är en klass inom namnområdet System
och WriteLine
och Write
är metoder för klass Console
.
Låt oss titta på ett enkelt exempel som skriver ut en sträng till utskärmen.
Exempel 1: Utskrift av sträng med WriteLine ()
using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("C# is cool"); ) ) )
När vi kör programmet blir resultatet
C # är coolt
Skillnad mellan WriteLine () och Write () -metod
Huvudskillnaden mellan WriteLine()
och Write()
är att Write()
metoden endast skriver ut strängen som tillhandahålls, medan WriteLine()
metoden skriver ut strängen och flyttar till början av nästa rad också.
Låt oss ta en titt på exemplet nedan för att förstå skillnaden mellan dessa metoder.
Exempel 2: Hur använder man metoden WriteLine () och 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"); ) ) )
När vi kör programmet blir resultatet
Skriver ut på ny rad Skriver ut på samma rad
Skriva ut variabler och bokstäver med WriteLine () och Write ()
Den WriteLine()
och Write()
metoden kan användas för att skriva ut variabler och literaler. Här är ett exempel.
Exempel 3: Utskrift av variabler och bokstäver
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int value = 10; // Variable Console.WriteLine(value); // Literal Console.WriteLine(50.05); ) ) )
När vi kör programmet blir resultatet
10 50.05
Kombinera (sammanfoga) två strängar med + -operatören och skriva ut dem
Strängar kan kombineras / sammanfogas med +
operatören under utskrift.
Exempel 4: Skriva ut sammanfogad sträng med + -operatören
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int val = 55; Console.WriteLine("Hello " + "World"); Console.WriteLine("Value = " + val); ) ) )
När vi kör programmet blir resultatet
Hej världens värde = 55
Skriva ut sammankopplad sträng med formaterad sträng (bättre alternativ)
Ett bättre alternativ för utskrift av sammanhängande sträng är att använda formaterad sträng. Formaterad sträng tillåter programmerare att använda platshållare för variabler. Till exempel,
Följande rad,
Console.WriteLine ("Value =" + val);
kan ersättas med,
Console.WriteLine ("Value = (0)", val);
(0)
är platshållaren för variabel val som kommer att ersättas med värdet för val. Eftersom endast en variabel används så finns det bara en platshållare.
Flera variabler kan användas i den formaterade strängen. Vi kommer att se det i exemplet nedan.
Exempel 5: Skriva ut sammankopplad sträng med hjälp av formatering av sträng
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); ) ) )
När vi kör programmet blir resultatet
5 + 10 = 15
Här (0)
ersätts med firstNumber, (1)
ersätts av secondNumber och (2)
ersätts av resultat. Detta tillvägagångssätt för utskrift är mer läsbart och mindre felbenäget än att använda +
operatören.
Om du vill veta mer om strängformatering, besök C # strängformatering.
C # Ingång
I C # är den enklaste metoden att få inmatning från användaren genom att använda klassens ReadLine()
metod Console
. Men Read()
och ReadKey()
är också tillgängliga för att få input från användaren. De ingår också i Console
klassen.
Exempel 6: Få stränginmatning från användaren
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); ) ) )
När vi kör programmet blir resultatet:
Ange en sträng - Hello World Du angav "Hello World"
Skillnad mellan ReadLine (), Read () och ReadKey () -metod:
Skillnaden mellan ReadLine()
, Read()
och ReadKey()
metoden är:
ReadLine()
:ReadLine()
Metoden läser nästa ingångsrad från standardinmatningsströmmen. Den returnerar samma sträng.Read()
:Read()
Metoden läser nästa tecken från standardinmatningsströmmen. Det returnerar karaktärens ascii-värde.ReadKey()
:ReadKey()
Metoden hämtar nästa tangent som användaren trycker på. Denna metod används vanligtvis för att hålla skärmen tills användaren trycker på en knapp.
Om du vill veta mer om dessa metoder, här är en intressant diskussion om StackOverflow om: Skillnad mellan Console.Read () och Console.ReadLine () ?.
Exempel 7: Skillnad mellan Read () och ReadKey () -metoden
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); ) ) )
När vi kör programmet blir resultatet
Tryck på valfri knapp för att fortsätta … x Inmatning med Read () - Learning C # Ascii Value = 76
Från detta exempel måste det vara tydligt hur ReadKey()
och Read()
metod fungerar. När du ReadKey()
trycker på knappen visas den på skärmen medan du använder den.
När det Read()
används tar det en hel rad men returnerar bara ASCII-värdet för första tecknet. Därför skrivs 76
(ASCII-värdet av L
) ut.
Läser numeriska värden (heltal och flytpunkter)
Att läsa en karaktär eller sträng är väldigt enkelt i C #. Allt du behöver göra är att ringa motsvarande metoder efter behov.
Men att läsa numeriska värden kan vara lite knepigt i C #. Vi använder fortfarande samma ReadLine()
metod som vi använde för att få strängvärden. Men eftersom ReadLine()
metoden tar emot ingången som sträng, måste den konverteras till heltal eller flytande punkt.
Ett enkelt tillvägagångssätt för att konvertera våra input är att använda metoderna för Convert
klass.
Exempel 8: Läsa numeriska värden från användare med hjälp av Convert-klass
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); ) ) )
När vi kör programmet blir resultatet
Ange heltal: 101 Du angav 101 Ange dubbelt värde: 59.412 Du angav 59.412
Den ToInt32()
och ToDouble()
metod för Konvertera klass omvandlar trängsingång till heltal och dubbel typ respektive. På samma sätt kan vi konvertera ingången till andra typer. Här är en komplett lista över tillgängliga metoder för Convert-klass.
Det finns andra sätt att få numeriska ingångar från användaren. Mer information finns i Läsa ett heltal från användarinmatningen.