C # Βασική είσοδος και έξοδος

Σε αυτό το σεμινάριο, θα μάθουμε πώς να λαμβάνουμε είσοδο από το χρήστη και και να εμφανίζουμε την έξοδο στο C # χρησιμοποιώντας διάφορες μεθόδους

Έξοδος C #

Για να βγάλουμε κάτι στο C #, μπορούμε να το χρησιμοποιήσουμε

 System.Console.WriteLine () Ή System.Console.Write ()

Εδώ, Systemείναι ένας χώρος ονομάτων, Consoleείναι μια τάξη στο εσωτερικό namespace Systemκαι WriteLineκαι Writeοι μέθοδοι της κλάσης Console.

Ας δούμε ένα απλό παράδειγμα που εκτυπώνει μια συμβολοσειρά στην οθόνη εξόδου.

Παράδειγμα 1: Εκτύπωση συμβολοσειράς χρησιμοποιώντας το WriteLine ()

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( Console.WriteLine("C# is cool"); ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι

 Το C # είναι δροσερό

Διαφορά μεταξύ της μεθόδου WriteLine () και Write ()

Η κύρια διαφορά μεταξύ WriteLine()και Write()είναι ότι η Write()μέθοδος εκτυπώνει μόνο τη συμβολοσειρά που της παρέχεται, ενώ η WriteLine()μέθοδος εκτυπώνει τη συμβολοσειρά και μετακινείται επίσης στην αρχή της επόμενης γραμμής.

Ας ρίξουμε μια ματιά στο παρακάτω παράδειγμα για να κατανοήσουμε τη διαφορά μεταξύ αυτών των μεθόδων.

Παράδειγμα 2: Πώς να χρησιμοποιήσετε τη μέθοδο WriteLine () και 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"); ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι

 Εκτυπώνει σε νέα γραμμή Εκτυπώνει στην ίδια γραμμή

Εκτύπωση μεταβλητών και γραμματοσειρών χρησιμοποιώντας το WriteLine () και το Write ()

Η μέθοδος WriteLine()και η Write()μέθοδος μπορούν να χρησιμοποιηθούν για την εκτύπωση μεταβλητών και γραμμάτων. Εδώ είναι ένα παράδειγμα.

Παράδειγμα 3: Εκτύπωση μεταβλητών και γραμμάτων

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( int value = 10; // Variable Console.WriteLine(value); // Literal Console.WriteLine(50.05); ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι

 10 50.05

Συνδυάζοντας (συνενώνοντας) δύο χορδές χρησιμοποιώντας + χειριστή και εκτυπώνοντάς τα

Οι χορδές μπορούν να συνδυαστούν / συνδυαστούν χρησιμοποιώντας τον +χειριστή κατά την εκτύπωση.

Παράδειγμα 4: Εκτύπωση συνδυασμένης συμβολοσειράς χρησιμοποιώντας χειριστή +

 using System; namespace Sample ( class Test ( public static void Main(string() args) ( int val = 55; Console.WriteLine("Hello " + "World"); Console.WriteLine("Value = " + val); ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι

 Γεια σας World Value = 55

Εκτύπωση συνδυασμένης συμβολοσειράς με τη χρήση μορφοποιημένης συμβολοσειράς (Better Alternative)

Μια καλύτερη εναλλακτική λύση για την εκτύπωση συνδυασμένης συμβολοσειράς είναι η χρήση μορφοποιημένης συμβολοσειράς. Η μορφοποιημένη συμβολοσειρά επιτρέπει στον προγραμματιστή να χρησιμοποιεί σύμβολα κράτησης θέσης για μεταβλητές. Για παράδειγμα,

Η ακόλουθη γραμμή,

 Console.WriteLine ("Value =" + val);

μπορεί να αντικατασταθεί από,

 Console.WriteLine ("Value = (0)", val);

(0)είναι το σύμβολο κράτησης θέσης για μεταβλητή val που θα αντικατασταθεί από την τιμή val. Εφόσον χρησιμοποιείται μόνο μία μεταβλητή, έτσι υπάρχει μόνο ένα σύμβολο κράτησης θέσης.

Μπορούν να χρησιμοποιηθούν πολλές μεταβλητές στη μορφοποιημένη συμβολοσειρά. Θα το δούμε στο παρακάτω παράδειγμα.

Παράδειγμα 5: Εκτύπωση συνδυασμένης συμβολοσειράς χρησιμοποιώντας μορφοποίηση String

 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); ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι

 5 + 10 = 15

Εδώ, (0)αντικαθίσταται από το πρώτο αριθμό, (1)αντικαθίσταται από το δεύτερο αριθμό και (2)αντικαθίσταται από το αποτέλεσμα. Αυτή η προσέγγιση της εκτύπωσης εξόδου είναι πιο ευανάγνωστη και λιγότερο επιρρεπής σε σφάλματα από τη χρήση +χειριστή.

Για να μάθετε περισσότερα σχετικά με τη μορφοποίηση συμβολοσειρών, επισκεφτείτε τη μορφοποίηση συμβολοσειρών C #.

C # Είσοδος

Στο C #, η απλούστερη μέθοδος για να λάβετε πληροφορίες από τον χρήστη είναι χρησιμοποιώντας τη ReadLine()μέθοδο της Consoleκλάσης. Ωστόσο, Read()και ReadKey()είναι επίσης διαθέσιμα για λήψη πληροφοριών από τον χρήστη. Περιλαμβάνονται επίσης στην Consoleτάξη.

Παράδειγμα 6: Λήψη εισόδου συμβολοσειράς από τον χρήστη

 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); ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι:

 Εισαγάγετε μια συμβολοσειρά - Hello World Εισαγάγατε το "Hello World"

Διαφορά μεταξύ μεθόδου ReadLine (), Read () και ReadKey ():

Η διαφορά μεταξύ ReadLine(), Read()και ReadKey()η μέθοδος είναι:

  • ReadLine(): The ReadLine() method reads the next line of input from the standard input stream. It returns the same string.
  • Read(): The Read() method reads the next character from the standard input stream. It returns the ascii value of the character.
  • ReadKey(): The ReadKey() method obtains the next key pressed by user. This method is usually used to hold the screen until user press a key.

If you want to know more about these methods, here is an interesting discussion on StackOverflow on: Difference between Console.Read() and Console.ReadLine()?.

Example 7: Difference between Read() and ReadKey() method

 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); ) ) )

When we run the program, the output will be

 Press any key to continue… x Input using 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.

Μια απλή προσέγγιση για τη μετατροπή της εισόδου μας είναι η χρήση των μεθόδων της Convertτάξης.

Παράδειγμα 8: Ανάγνωση αριθμητικών τιμών από το χρήστη χρησιμοποιώντας κλάση μετατροπής

 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); ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι

 Εισαγάγετε ακέραια τιμή: 101 Εισαγάγατε 101 Εισαγάγετε διπλή τιμή: 59,412 Εισαγάγατε 59,412

Η μέθοδος ToInt32()και η ToDouble()μέθοδος μετατροπής μετατρέπει την είσοδο συμβολοσειράς σε ακέραιο και διπλό τύπο αντίστοιχα. Παρομοίως μπορούμε να μετατρέψουμε την είσοδο σε άλλους τύπους. Εδώ είναι μια πλήρης λίστα με τις διαθέσιμες μεθόδους για την κλάση μετατροπής.

Υπάρχουν άλλοι τρόποι λήψης αριθμητικών εισόδων από τον χρήστη. Για να μάθετε περισσότερα, επισκεφθείτε την ενότητα Ανάγνωση ενός ακέραιου από την είσοδο του χρήστη.

ενδιαφέροντα άρθρα...