Tässä opetusohjelmassa opimme ottamaan syötteitä käyttäjältä ja näyttämään tuotoksen C #: ssä eri menetelmillä
C # -ulostulo
Jotta voimme tuottaa jotain C #: ssa, voimme käyttää
System.Console.WriteLine () TAI System.Console.Write ()
Täällä System
on nimiavaruus, Console
on luokan sisällä nimiavaruus System
ja WriteLine
ja Write
menetelmiä luokan Console
.
Katsotaanpa yksinkertaista esimerkkiä, joka tulostaa merkkijonon näyttöön.
Esimerkki 1: Merkkijonon tulostaminen WriteLine () -ohjelmalla
using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("C# is cool"); ) ) )
Kun suoritamme ohjelman, tulos on
C # on siistiä
Ero WriteLine () - ja Write () -menetelmien välillä
Suurin ero WriteLine()
ja Write()
on, että Write()
menetelmä tulostaa vain sille toimitetun merkkijonon, kun taas WriteLine()
menetelmä tulostaa merkkijonon ja siirtyy myös seuraavan rivin alkuun.
Katsotaanpa seuraavaa esimerkkiä ymmärtääksemme näiden menetelmien välisen eron.
Esimerkki 2: Kuinka käyttää WriteLine () ja Write () -menetelmiä?
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"); ) ) )
Kun suoritamme ohjelman, tulos on
Tulostaa uudelle riville Tulostaa samalla rivillä
Muuttujien ja literaalien tulostaminen WriteLine () - ja Write () -toiminnoilla
WriteLine()
Ja Write()
menetelmää voidaan käyttää tulostamaan muuttujia ja literals. Tässä on esimerkki.
Esimerkki 3: Muuttujien ja literaalien tulostaminen
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int value = 10; // Variable Console.WriteLine(value); // Literal Console.WriteLine(50.05); ) ) )
Kun suoritamme ohjelman, tulos on
10 50.05
Yhdistetään (ketjutetaan) kaksi merkkijonoa + -operaattorilla ja tulostetaan ne
Jouset voidaan yhdistää / ketjuttaa +
operaattorin avulla tulostuksen aikana.
Esimerkki 4: Ketjutetun merkkijonon tulostaminen + -operaattorilla
using System; namespace Sample ( class Test ( public static void Main(string() args) ( int val = 55; Console.WriteLine("Hello " + "World"); Console.WriteLine("Value = " + val); ) ) )
Kun suoritamme ohjelman, tulos on
Hei maailman arvo = 55
Liitetyn merkkijonon tulostaminen alustetulla merkkijonolla (parempi vaihtoehto)
Parempi vaihtoehto ketjutetun merkkijonon tulostamiseen on muotoiltu merkkijono. Alustetun merkkijonon avulla ohjelmoija voi käyttää muuttujien paikkamerkkejä. Esimerkiksi,
Seuraava rivi,
Console.WriteLine ("Arvo =" + val);
voidaan korvata
Console.WriteLine ("Arvo = (0)", val);
(0)
on muuttujan val paikkamerkki, joka korvataan val-arvolla. Koska käytetään vain yhtä muuttujaa, on vain yksi paikkamerkki.
Alustetussa merkkijonossa voidaan käyttää useita muuttujia. Näemme sen alla olevassa esimerkissä.
Esimerkki 5: Liitetyn merkkijonon tulostaminen merkkijonon muotoilulla
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); ) ) )
Kun suoritamme ohjelman, tulos on
5 + 10 = 15
Tässä (0)
korvataan firstNumber, (1)
korvataan secondNumber ja (2)
korvataan tulos. Tämä tulostustapa on luettavampi ja vähemmän virhealtista kuin +
operaattorin käyttö.
Jos haluat tietää enemmän merkkijonon muotoilusta, käy C # -merkkijonon muotoilussa.
C # -tulo
Kohdassa C # yksinkertaisin tapa saada käyttäjältä tietoa on käyttää luokan ReadLine()
menetelmää Console
. Kuitenkin Read()
ja ReadKey()
ovat saatavilla myös saada käyttäjän syötettä. Ne kuuluvat myös Console
luokkaan.
Esimerkki 6: Hae merkkijonotulo käyttäjältä
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); ) ) )
Kun suoritamme ohjelmaa, tulos on:
Kirjoita merkkijono - Hei maailma Kirjoitit "Hei maailma"
Ero ReadLine (), Read () ja ReadKey () -menetelmien välillä:
Ero ReadLine()
, Read()
ja ReadKey()
menetelmä on:
ReadLine()
:ReadLine()
Menetelmä lukee seuraavan tulorivin vakiotulovirrasta. Se palauttaa saman merkkijonon.Read()
:Read()
Menetelmä lukee seuraavan merkin vakiotulovirrasta. Se palauttaa merkin ascii-arvon.ReadKey()
:ReadKey()
Menetelmä saa seuraavan käyttäjän painaman näppäimen. Tätä menetelmää käytetään yleensä näytön pitämiseen, kunnes käyttäjä painaa näppäintä.
Jos haluat tietää enemmän näistä menetelmistä, tässä on mielenkiintoinen keskustelu StackOverflow-aiheesta aiheesta: Console.Read () ja Console.ReadLine ()?
Esimerkki 7: Ero Read () - ja ReadKey () -menetelmien välillä
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); ) ) )
Kun suoritamme ohjelman, tulos on
Paina mitä tahansa näppäintä jatkaaksesi … x Syötä käyttäen Read () - Learning C # Ascii -arvo = 76
Tästä esimerkistä on oltava selvää, miten ReadKey()
ja Read()
menetelmä toimii. Käytön aikana ReadKey()
, heti kun näppäintä painetaan, se näkyy näytöllä.
Kun Read()
sitä käytetään, se vie kokonaisen rivin, mutta palauttaa vain ensimmäisen merkin ASCII-arvon. Siksi 76
(ASCII-arvo L
) tulostetaan.
Numeeristen arvojen lukeminen (kokonaisluku- ja liukuluku tyypit)
Merkin tai merkkijonon lukeminen on hyvin yksinkertaista C #: ssä. Sinun tarvitsee vain kutsua vastaavat menetelmät tarpeen mukaan.
Numeeristen arvojen lukeminen voi kuitenkin olla hieman hankalaa C #: ssä. Käytämme edelleen samaa ReadLine()
menetelmää, jota käytimme merkkijonojen arvojen saamiseen. Mutta koska ReadLine()
menetelmä vastaanottaa syötteen merkkijonona, se on muunnettava kokonaisluku- tai liukuluku-tyypiksi.
Yksi yksinkertainen lähestymistapa tulomme muuntamiseen on Convert
luokan menetelmien käyttäminen .
Esimerkki 8: Numeeristen arvojen lukeminen käyttäjältä Muunna-luokan avulla
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); ) ) )
Kun suoritamme ohjelman, tulos on
Syötä kokonaisluku: 101 Annoit 101 Syötä kaksinkertainen arvo: 59.412 Annoit 59.412
ToInt32()
Ja ToDouble()
menetelmä Muunna luokan muuntaa merkkijonon tulo kokonaisluku ja kaksinkertainen tyyppi, vastaavasti. Vastaavasti voimme muuntaa syötteen muuntyyppisiksi. Tässä on täydellinen luettelo muunnosluokan käytettävissä olevista menetelmistä.
On muitakin tapoja saada numeerisia syötteitä käyttäjältä. Lisätietoja on kohdassa Kokonaisluvun lukeminen käyttäjän syötteistä.