C # andmetüüpide sissejuhatus
Nagu nimigi ütleb, on andmetüüp seda tüüpi andmeid, mida oma muutujasse salvestate. Andmetüüpi kasutatakse kompilaatori või tõlgi soovituseks, milliseid andmeid ta töötleb ja kui palju on nende andmete jaoks vaja mälu.
Ex jaoks: int on andmetüüp, mis salvestab arvväärtuse ja nõuab nelja baiti.
Kuna C # on tugevalt trükitud keel, tuleb enne selle kasutamist deklareerida muutuja tüüp või konstant. Andmetüüpide asjakohane kasutamine säästab mälu ja parandab rakenduse toimimist.
Süntaks:
datatype = value;
C # andmetüüpide näited:
1. int intVal = 55; Selles näites: int on andmetüüp, intVal on muutuja_nimi, 55 on väärtus.
2. char charVal = 'A';
3. string strVal = “Tere maailm!”;
4. ujuk floatVal = 15, 5f;
5. bool boolVal = tõsi;
3 parimat C # andmetüüpi
C # andmetüübid jagunevad kolme kategooriasse:
1. Väärtuse tüübid
- Salvestab muutuja väärtuse otse mällu.
- Aktsepteerib nii allkirjastatud kui ka allkirjastamata litreid.
- C #-s on kahte tüüpi väärtuse andmetüüpe:
- Eelmääratud andmetüübid nagu int, char, bool jne.
- Kasutaja määratletud andmetüübid nagu enum, struct jne
2. Viite tüübid
- Nad salvestavad muutuja aadressi, st sisaldavad viidet muutujale.
- Kui andmeid muudetakse ühe muutuja abil, saab teine muutuja automaatselt värskendatud väärtuse.
- C #-s on kahte tüüpi viiteandmetüüpe:
- Eelmääratud tüübid, näiteks objekt, string
- Kasutaja määratletud tüübid, näiteks klass, liides
3. Osuti tüübid
- Need sisaldavad muutuja mäluaadressi.
- Osutuses kasutatavad sümbolid:
- & (ampersand) - aadressioperaator, määrab muutuja aadressi
- * (tärn) - suundoperaator, saate juurdepääsu aadressi väärtusele
Erinevate andmetüüpide näited
Järgnevalt on toodud näited C # erinevate andmetüüpide kohta,
Näide nr 1: mõned väärtuse tüübid
using System;
public class ValueDataTypes
(
public static void Main()
(
//int - 32-bit signed integer type
int i = 55;
//char - 16-bit Unicode character
char ch = 'A';
//short - 16-bit signed integer type
short s = 56;
//long - 64-bit signed integer type
long l = 5564;
//uint - 32-bit unsigned integer type
uint ui = 100;
//ushort - 16-bit unsigned integer type
ushort us = 80;
//ulong - 64-bit unsigned integer type
ulong ul = 3625573;
//double - 64-bit double precision floating point type
double d = 6.358674532;
//float - 32-bit single-precision floating point type
//float needs 'f' or 'F' as suffix
float f = 2.7330645f;
//decimal - 128-bit precise decimal values with 28-29 significant digits
//decimal needs 'm' or 'M' as suffix
decimal dec = 339.5m;
Console.WriteLine("Integer: " + i);
Console.WriteLine("Char: " + ch);
Console.WriteLine("Short: " + s);
Console.WriteLine("Long: " + l);
Console.WriteLine("Unsinged integer: " + ui);
Console.WriteLine("Unsinged short: " + us);
Console.WriteLine("Unsinged long: " + ul);
Console.WriteLine("Double: " + d);
Console.WriteLine("Float: " + f);
Console.WriteLine("Decimal: " + dec);
)
)
Väljund:
Näide 2: Bool, Enum ja Struct Data Type
Struktuur on liittüüp, mida kasutatakse erinevate andmetüüpidega seotud andmete salvestamiseks. Enumit kasutatakse integraalkonstantidele nimede määramiseks.
using System;
public class BoolEnumStruct
(
//declaring enum
enum Days ( Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday );
//declaring structure
struct Student
(
public int Id;
public string FirstName;
public string LastName;
public Student(int id, string fname, string lname)
(
Id = id;
FirstName = fname;
LastName = lname;
)
)
public static void Main()
(
//boolean data type
bool flag = true;
if(flag)
(
Console.WriteLine("Bool value: "+flag);
Console.WriteLine();
)
//Accessing enum value for Friday
Console.WriteLine("Enumeration:");
Console.WriteLine(Days.Friday);
Console.WriteLine((int)Days.Friday);
Console.WriteLine();
//passing values to structure members using constructor
Student student = new Student(1, "Riya", "Sen");
Console.WriteLine("Structure Members:");
Console.WriteLine(student.Id);
Console.WriteLine(student.FirstName);
Console.WriteLine(student.LastName);
)
)
Väljund:
Näide # 3: Võrdlusandmete tüübid
using System;
public class StrObjDynamic
(
public static void Main()
(
string str = "C# ";
str += "Data Types";
Console.WriteLine("String: "+str);
Console.WriteLine();
//declaring object
object obj;
obj = 100;
Console.WriteLine("Object: "+obj);
//displaying type of object using GetType()
Console.WriteLine(obj.GetType());
Console.WriteLine();
//declaring dynamic variables
dynamic value1 = "Hello World!";
dynamic value2 = 5296;
dynamic value3 = 6.5;
//displaying actual type of dynamic variables using GetType()
Console.WriteLine("Dynamic:");
Console.WriteLine("Type of value1: (0)", value1.GetType().ToString());
Console.WriteLine("Type of value2: (0)", value2.GetType().ToString());
Console.WriteLine("Type of value3: (0)", value3.GetType().ToString());
)
)
Väljund:
Näide # 4: liides
Liidese liikmena võivad olla omadused, meetodid, sündmused ja indekseerijad. See sisaldab ainult liikmete deklaratsioone. Oma liikmete rakendamist tagab klass, kes rakendab seda kaudselt või kaudselt.
using System;
interface Shape
(
void rectangle();
)
public class Area : Shape
(
//implementing interface method
public void rectangle()
(
Console.WriteLine("Area of rectangle is Length * Breadth");
)
public static void Main(String() args)
(
Area area = new Area();
area.rectangle();
)
)
Väljund:
Näide # 5: Delegaat
Delegaat on objekt, mis sisaldab viidet meetodile.
using System;
public class DelegateDemo
(
// Declaring delegate
public delegate void Sum(int a, int b);
public void SumVal(int a, int b)
(
Console.WriteLine(a +"+"+ b+ " = (0)", a + b);
)
public static void Main(String() args)
(
DelegateDemo delegateDemo = new DelegateDemo();
// Creating object of delegate
Sum sum = new Sum(delegateDemo.SumVal);
//Passing values to the method using delegate object
sum(100, 100);
)
)
Väljund:
Järeldus
- Väärtuse tüüp salvestatakse virnas.
- Võrdlustüüpi hoitakse hunnikus.
- Väärtuse tüübi teisendamisel viitetüübiks nimetatakse seda boksiks (kaudne teisendusprotsess) .
- Kui viite tüüp teisendatakse väärtuse tüübiks, nimetatakse seda kasti eemaldamiseks (selgesõnaline teisendusprotsess) .
Soovitatavad artiklid
See on juhend C # andmetüüpide kohta. Siin käsitleme C # tüüpe koos andmetüüpide erinevate näidetega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -
- Kuidas juurde pääseda nimeruumidele C # -s?
- 2D-massiivid C # -s
- Vahetus C # -s
- C-tüüpi objektid
- Vahetamine PHP-s
- 3 erinevat tüüpi massiive PHP-s (näited)
- PHP andmetüübid koos näidetega