Introduktion till C # Datatyper
Som namnet antyder är datatypen den typ av data du ska lagra i din variabel. Datatypen används för att föreslå kompilatorn eller tolkaren vilken typ av data den kommer att behandla och hur mycket minne som krävs för den datan.
För Ex: int är en datatyp som lagrar numeriskt värde och kräver fyra byte.
Eftersom C # är ett starkt typspråk, är det nödvändigt att deklarera typen av variabel eller konstant innan du använder den. Lämplig användning av datatyper sparar minne och förbättrar applikationens prestanda.
Syntax:
datatype = value;
Exempel på C # datatyper:
1. int intal = 55; I det här exemplet: int är en datatyp, intVal är ett variabelnamn, 55 är ett värde.
2. char charVal = 'A';
3. string strVal = "Hej världen!";
4. float floatVal = 15, 5f;
5. bool boolVal = sant;
Topp 3 C # Datatyper
C # datatyper är indelade i tre kategorier:
1. Värdetyper
- Lagrar direkt värdet på en variabel i minnet.
- Accepterar både signerade och osignerade bokstäver.
- Det finns två typer av värdedatatyper i C #:
- Fördefinierade datatyper som int, char, bool, etc.
- Användardefinierade datatyper som enum, struct, etc.
2. Referenstyper
- De lagrar variabelns adress, dvs de innehåller referensen till en variabel.
- Om data ändras med en variabel får den andra variabeln automatiskt det uppdaterade värdet.
- Det finns två typer av referensdatatyper i C #:
- Fördefinierade typer som Object, String
- Användardefinierade typer som klass, gränssnitt
3. Pekartyper
- De innehåller variabelns minnesadress.
- Symboler som används i pekaren:
- & (ampersand) - Adressoperatör, bestämmer adressen för en variabel
- * (asterisk) - Indirektionsoperatör, få tillgång till värdet på en adress
Exempel på olika datatyper
Följande är några exempel på olika datatyper i C #,
Exempel 1: Vissa värdetyper
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);
)
)
Produktion:
Exempel 2: Bool-, Enum- och strukturdatatyp
Strukturen är en sammansatt typ som används för att lagra relaterad data med olika datatyper. Enum används för att tilldela namn till integrerade konstanter.
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);
)
)
Produktion:
Exempel 3: Referensdatatyper
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());
)
)
Produktion:
Exempel 4: Gränssnitt
Ett gränssnitt kan ha egenskaper, metoder, händelser och indexerare som medlemmar. Den innehåller endast deklarationen från sina medlemmar. Implementeringen av medlemmarna tillhandahålls av klassen som implementerar det implicit eller uttryckligen.
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();
)
)
Produktion:
Exempel 5: Delegat
En delegat är ett objekt som innehåller referensen till metoden.
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);
)
)
Produktion:
Slutsats
- Värdetypen lagras i bunten.
- En referenstyp lagras i hög.
- När en värdetyp konverteras till en referenstyp kallas det boxning (implicit conversing process) .
- När en referenstyp konverteras till en värdetyp kallas den för unboxing (explicerad konverteringsprocess) .
Rekommenderade artiklar
Detta är en guide till C # Datatyper. Här diskuterar vi typerna av C # tillsammans med olika exempel på datatyper. Du kan också titta på följande artiklar för att lära dig mer-
- Hur får man tillgång till namnområden i C #?
- 2D-matriser i C #
- Byta i C #
- Objekt i C #
- Byta in PHP
- 3 olika typer av matriser i PHP (exempel)
- Datatyper av PHP med exempel