C # Μεταβλητές και (Primitive) Τύποι δεδομένων

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

Μια μεταβλητή είναι ένα συμβολικό όνομα που δίνεται σε μια θέση μνήμης. Οι μεταβλητές χρησιμοποιούνται για την αποθήκευση δεδομένων σε ένα πρόγραμμα υπολογιστή.

Πώς να δηλώσετε μεταβλητές στο C #;

Ακολουθεί ένα παράδειγμα για να δηλώσετε μια μεταβλητή στο C #.

 int ηλικία?

Σε αυτό το παράδειγμα, intδηλώνεται μια μεταβλητή ηλικία τύπου (ακέραιος) και μπορεί να αποθηκεύσει μόνο ακέραιες τιμές.

Μπορούμε να εκχωρήσουμε μια τιμή στη μεταβλητή αργότερα στο πρόγραμμά μας όπως:

 int ηλικία……… ηλικία = 24;

Ωστόσο, η μεταβλητή μπορεί επίσης να αρχικοποιηθεί σε κάποια τιμή κατά τη δήλωση. Για παράδειγμα,

 int ηλικία = 24;

Εδώ, μια μεταβλητή ηλικία τύπου intδηλώνεται και αρχικοποιείται 24ταυτόχρονα.

Δεδομένου ότι είναι μια μεταβλητή, μπορούμε επίσης να αλλάξουμε την τιμή των μεταβλητών. Για παράδειγμα,

int ηλικία = 24; ηλικία = 35;

Εδώ, η αξία της ηλικίας αλλάζει σε 35 από 24.

Οι μεταβλητές στο C # πρέπει να δηλώνονται πριν μπορέσουν να χρησιμοποιηθούν. Αυτό σημαίνει ότι το όνομα και ο τύπος της μεταβλητής πρέπει να είναι γνωστά πριν να τους δοθεί μια τιμή. Αυτός είναι ο λόγος για τον οποίο το C # ονομάζεται στατικά δακτυλογραφημένη γλώσσα.

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

Προς το παρόν θυμηθείτε, δεν μπορούμε να κάνουμε τα εξής στο C #:

int ηλικία? ηλικία = 24;……… ηλικία float;

Μεταβλητές που έχουν πληκτρολογηθεί σιωπηρά

Εναλλακτικά στο C #, μπορούμε να δηλώσουμε μια μεταβλητή χωρίς να γνωρίζουμε τον τύπο της χρησιμοποιώντας varλέξη-κλειδί. Τέτοιες μεταβλητές καλούνται σιωπηρά τοπικές μεταβλητές .

Οι μεταβλητές που δηλώνονται με τη χρήση varλέξης-κλειδιού πρέπει να αρχικοποιούνται κατά τη στιγμή της δήλωσης.

 τιμή var = 5;

Ο μεταγλωττιστής καθορίζει τον τύπο της μεταβλητής από την τιμή που αντιστοιχεί στη μεταβλητή. Στο παραπάνω παράδειγμα, η τιμή είναι τύπου int. Αυτό ισοδυναμεί με:

τιμή int; τιμή = 5;

Μπορείτε να μάθετε περισσότερα σχετικά με τις σιωπηρά τοπικές μεταβλητές.

Κανόνες για την ονομασία μεταβλητών σε C #

Υπάρχουν ορισμένοι κανόνες που πρέπει να ακολουθήσουμε ενώ ονομάζουμε μια μεταβλητή. Οι κανόνες για την ονομασία μιας μεταβλητής στο C # είναι:

  1. Το όνομα της μεταβλητής μπορεί να περιέχει γράμματα (κεφαλαία και πεζά), υπογράμμιση (_) και μόνο ψηφία.
  2. Το όνομα της μεταβλητής πρέπει να ξεκινά με γράμμα, κάτω παύλα ή σύμβολο @. Για παράδειγμα, κανόνες για την ονομασία μεταβλητών στο C #
    Μεταβλητά ονόματα Παρατηρήσεις
    όνομα Εγκυρος
    θέμα101 Εγκυρος
    _ηλικία Ισχύει (Βέλτιστη πρακτική για την ονομασία μεταβλητών ιδιωτικών μελών)
    @Διακοπή Έγκυρο (Χρησιμοποιείται εάν το όνομα είναι δεσμευμένη λέξη-κλειδί)
    101 υπόθεση Μη έγκυρο (Ξεκινά με ψηφίο)
    το όνομα σου Εγκυρος
    το όνομα σου Μη έγκυρο (Περιλαμβάνει κενό διάστημα)
  3. Το C # είναι πεζά. Αυτό σημαίνει ότι η ηλικία και η ηλικία αναφέρονται σε 2 διαφορετικές μεταβλητές.
  4. Το όνομα της μεταβλητής δεν πρέπει να είναι λέξη-κλειδί C #. Για παράδειγμα, if, for, usingδεν μπορεί να είναι ένα όνομα μεταβλητής. Στο επόμενο σεμινάριο θα συζητήσουμε περισσότερα για τις λέξεις-κλειδιά C #.

Βέλτιστες πρακτικές για την ονομασία μιας μεταβλητής

  1. Επιλέξτε ένα μεταβλητό όνομα που έχει νόημα. Για παράδειγμα, το όνομα, η ηλικία, το θέμα έχει μεγαλύτερη σημασία από τα n, a και s.
  2. Χρησιμοποιήστε τη σημείωση camelCase (ξεκινά με πεζά γράμματα) για την ονομασία τοπικών μεταβλητών. Για παράδειγμα, numberOfStudents, ηλικία κ.λπ.
  3. Χρησιμοποιήστε PascalCase ή CamelCase (ξεκινά με κεφαλαία γράμματα) για την ονομασία μεταβλητών δημόσιου μέλους. Για παράδειγμα, FirstName, Price κ.λπ.
  4. Χρησιμοποιήστε μια κορυφαία υπογράμμιση (_) ακολουθούμενη από σημείωση camelCase για την ονομασία μεταβλητών ιδιωτικών μελών. Για παράδειγμα, _bankBalance, _emailAddress κ.λπ.

Μπορείτε να μάθετε περισσότερα σχετικά με τις συμβάσεις ονομασίας στο C # εδώ.

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

C # Πρωτόγονοι τύποι δεδομένων

Οι μεταβλητές στο C # ταξινομούνται ευρέως σε δύο τύπους: Τύποι τιμών και τύποι αναφοράς . Σε αυτό το σεμινάριο θα συζητήσουμε για πρωτόγονους (απλούς) τύπους δεδομένων που είναι μια υποκατηγορία τύπων τιμής.

Οι τύποι αναφοράς θα καλυφθούν σε μεταγενέστερα σεμινάρια. Ωστόσο, εάν θέλετε να μάθετε περισσότερα σχετικά με τους τύπους μεταβλητών, επισκεφτείτε τους τύπους C # και τις μεταβλητές (επίσημα έγγραφα C #).

Boolean (bool)

  • Ο δυαδικός τύπος δεδομένων έχει δύο πιθανές τιμές: trueήfalse
  • Προεπιλεγμένη τιμή :false
  • Οι δυαδικές μεταβλητές χρησιμοποιούνται γενικά για τον έλεγχο συνθηκών όπως σε δηλώσεις εάν, βρόχοι κ.λπ.

Για παράδειγμα:

 using System; namespace DataType ( class BooleanExample ( public static void Main(string() args) ( bool isValid = true; Console.WriteLine(isValid); ) ) )

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

 Αληθής

Υπογεγραμμένο ακέραιο

Αυτοί οι τύποι δεδομένων διατηρούν ακέραιες τιμές (τόσο θετικές όσο και αρνητικές). Από τα συνολικά διαθέσιμα bits, ένα bit χρησιμοποιείται για το σύμβολο.

1. sbyte

  • Size: 8 bits
  • Range: -128 to 127.
  • Default value: 0

For example:

 using System; namespace DataType ( class SByteExample ( public static void Main(string() args) ( sbyte level = 23; Console.WriteLine(level); ) ) )

When we run the program, the output will be:

 23

Try assigning values out of range i.e. less than -128 or greater than 127 and see what happens.

2. short

  • Size: 16 bits
  • Range: -32,768 to 32,767
  • Default value: 0

For example:

 using System; namespace DataType ( class ShortExample ( public static void Main(string() args) ( short value = -1109; Console.WriteLine(value); ) ) )

When we run the program, the output will be:

 -1109

3. int

  • Size: 32 bits
  • Range: -231 to 231-1
  • Default value: 0

For example:

 using System; namespace DataType ( class IntExample ( public static void Main(string() args) ( int score = 51092; Console.WriteLine(score); ) ) )

When we run the program, the output will be:

 51092

4. long

  • Size: 64 bits
  • Range: -263 to 263-1
  • Default value: 0L (L at the end represent the value is of long type)

For example:

 using System; namespace DataType ( class LongExample ( public static void Main(string() args) ( long range = -7091821871L; Console.WriteLine(range); ) ) )

When we run the program, the output will be:

 -7091821871

Unsigned Integral

These data types only hold values equal to or greater than 0. We generally use these data types to store values when we are sure, we won't have negative values.

1. byte

  • Size: 8 bits
  • Range: 0 to 255.
  • Default value: 0

For example:

 using System; namespace DataType ( class ByteExample ( public static void Main(string() args) ( byte age = 62; Console.WriteLine(level); ) ) )

When we run the program, the output will be:

 62

2. ushort

  • Size: 16 bits
  • Range: 0 to 65,535
  • Default value: 0

For example:

 using System; namespace DataType ( class UShortExample ( public static void Main(string() args) ( ushort value = 42019; Console.WriteLine(value); ) ) )

When we run the program, the output will be:

 42019

3. uint

  • Size: 32 bits
  • Range: 0 to 232-1
  • Default value: 0

For example:

 using System; namespace DataType ( class UIntExample ( public static void Main(string() args) ( uint totalScore = 1151092; Console.WriteLine(totalScore); ) ) )

When we run the program, the output will be:

 1151092

4. ulong

  • Size: 64 bits
  • Range: 0 to 264-1
  • Default value: 0

For example:

 using System; namespace DataType ( class ULongExample ( public static void Main(string() args) ( ulong range = 17091821871L; Console.WriteLine(range); ) ) )

When we run the program, the output will be:

 17091821871

Floating Point

These data types hold floating point values i.e. numbers containing decimal values. For example, 12.36, -92.17, etc.

1. float

  • Single-precision floating point type
  • Size: 32 bits
  • Range: 1.5 × 10−45 to 3.4 × 1038
  • Default value: 0.0F (F at the end represent the value is of float type)

For example:

 using System; namespace DataType ( class FloatExample ( public static void Main(string() args) ( float number = 43.27F; Console.WriteLine(number); ) ) )

When we run the program, the output will be:

 43.27

2. double

  • Double-precision floating point type. What is the difference between single and double precision floating point?
  • Size: 64 bits
  • Range: 5.0 × 10−324 to 1.7 × 10308
  • Default value: 0.0D (D at the end represent the value is of double type)

For example:

 using System; namespace DataType ( class DoubleExample ( public static void Main(string() args) ( double value = -11092.53D; Console.WriteLine(value); ) ) )

When we run the program, the output will be:

 -11092.53

Character (char)

  • It represents a 16 bit unicode character.
  • Size: 16 bits
  • Default value: ''
  • Range: U+0000 ('u0000') to U+FFFF ('uffff')

For example:

 using System; namespace DataType ( class CharExample ( public static void Main(string() args) ( char ch1 ='u0042'; char ch2 = 'x'; Console.WriteLine(ch1); Console.WriteLine(ch2); ) ) ) 

When we run the program, the output will be:

 B x

The unicode value of 'B' is 'u0042', hence printing ch1 will print 'B'.

Decimal

  • Decimal type has more precision and a smaller range as compared to floating point types (double and float). So it is appropriate for monetary calculations.
  • Size: 128 bits
  • Default value: 0.0M (M at the end represent the value is of decimal type)
  • Range: (-7.9 x 1028 to 7.9 x 1028) / (100 to 28)

For example:

 using System; namespace DataType ( class DecimalExample ( public static void Main(string() args) ( decimal bankBalance = 53005.25M; Console.WriteLine(bankBalance); ) ) ) 

When we run the program, the output will be:

 53005.25

The suffix M or m must be added at the end otherwise the value will be treated as a double and an error will be generated.

C# Literals

Let's look at the following statement:

 int number = 41;

Here,

  • int is a data type
  • number is a variable and
  • 41 is a literal

Literals are fixed values that appear in the program. They do not require any computation. For example, 5, false, 'w' are literals that appear in a program directly without any computation.

Boolean Literals

  • true and false are the available boolean literals.
  • They are used to initialize boolean variables.

For example:

 bool isValid = true; bool isPresent = false;

Integer Literals

  • Integer literals are used to initialize variables of integer data types i.e. sbyte, short, int, long, byte, ushort, uint and ulong.
  • If an integer literal ends with L or l, it is of type long. For best practice use L (not l).
     long value1 = 4200910L; long value2 = -10928190L;
  • If an integer literal starts with a 0x, it represents hexadecimal value. Number with no prefixes are treated as decimal value. Octal and binary representation are not allowed in C#.
     int decimalValue = 25; int hexValue = 0x11c;// decimal value 284

Floating Point Literals

  • Floating point literals are used to initialize variables of float and double data types.
  • If a floating point literal ends with a suffix f or F, it is of type float. Similarly, if it ends with d or D, it is of type double. If neither of the suffix is present, it is of type double by default.
  • These literals contains e or E when expressed in scientific notation.
     double number = 24.67;// double by default float value = -12.29F; double scientificNotation = 6.21e2;// equivalent to 6.21 x 102 i.e. 621

Character and String Literals

  • Character literals are used to initialize variables of char data types.
  • Character literals are enclosed in single quotes. For example, 'x', 'p', etc.
  • They can be represented as character, hexadecimal escape sequence, unicode representation or integral values casted to char.
     char ch1 = 'R'; // χαρακτήρας char ch2 = ' x0072'; // δεκαεξαδικό char ch3 = ' u0059'; // unicode char ch4 = (char) 107; // μετάδοση από ακέραιο
  • Οι συμβολοσειρές συμβολοσειρών είναι η συλλογή των χαρακτήρων χαρακτήρων
  • Περιλαμβάνονται σε διπλά εισαγωγικά. Για παράδειγμα, "Γεια", "Εύκολος προγραμματισμός" κ.λπ.
    string firstName = "Richard"; string lastName = "Feynman";
  • Το C # υποστηρίζει επίσης χαρακτήρες ακολουθίας διαφυγής όπως:
    Χαρακτήρας Εννοια
    \' Ενιαίο απόσπασμα
    " Διπλό απόσπασμα
    \ Αντίστροφη κάθετο
    Νέα γραμμή
    Επιστροφή μεταφοράς
    Οριζόντια καρτέλα
    a Συναγερμός
     Backspace

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