Introduktion til C # Datatyper
Som navnet antyder er datatypen den type data, du vil gemme i din variabel. Datatypen bruges til at foreslå kompilatoren eller tolken, hvilken type data den vil behandle, og hvor meget hukommelse der kræves til disse data.
For Ex: int er en datatype, der gemmer en numerisk værdi og kræver fire byte.
Da C # er et stærkt indtastet sprog, er det nødvendigt at erklære typen af variabel eller konstant, før du bruger den. Korrekt brug af datatyper sparer hukommelse og forbedrer applikationens ydelse.
Syntaks:
datatype = value;
Eksempler på C # Datatyper:
1. int intVal = 55; I dette eksempel: int er en datatype, intVal er en variabelnavn, 55 er en værdi.
2. char charVal = 'A';
3. string strVal = “Hej verden!”;
4. float floatVal = 15, 5f;
5. bool boolVal = sandt;
Top 3 C # Datatyper
C # datatyper er opdelt i tre kategorier:
1. Værdityper
- Gemmer direkte værdien af en variabel i hukommelsen.
- Accepterer både underskrevne og usignerede bogstaver.
- Der er to typer værdidatatyper i C #:
- Foruddefinerede datatyper som int, char, bool osv.
- Brugerdefinerede datatyper som enum, struct osv.
2. Henvisningstyper
- De gemmer adressen på variablen, dvs. de indeholder henvisningen til en variabel.
- Hvis dataene ændres med en variabel, får den anden variabel automatisk den opdaterede værdi.
- Der er to typer referencedatatyper i C #:
- Foruddefinerede typer som Object, String
- Brugerdefinerede typer som klasse, interface
3. Pointertyper
- De indeholder variabelens hukommelsesadresse.
- Symboler brugt i markøren:
- & (ampersand) - Adresseoperatør, bestemmer adressen på en variabel
- * (stjerne) - Indirektionsoperatør, adgang til værdien på en adresse
Eksempler på forskellige datatyper
Følgende er nogle eksempler på forskellige datatyper i C #,
Eksempel 1: Nogle værdityper
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:
Eksempel 2: Bool-, Enum- og strukturdatatype
Strukturen er en sammensat type, der bruges til at gemme relaterede data med forskellige datatyper. Enum bruges til at tildele navne til integrerede 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:
Eksempel 3: Referencedatatyper
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:
Eksempel 4: Interface
En grænseflade kan have egenskaber, metoder, begivenheder og indeksere som dens medlemmer. Det indeholder kun erklæringen fra sine medlemmer. Implementeringen af dets medlemmer tilvejebringes af klassen, der implementerer det implicit eller eksplicit.
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:
Eksempel 5: Delegat
En delegeret er et objekt, der har henvisningen til 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:
Konklusion
- Værditypen gemmes i stakken.
- En referencetype er gemt i bunke.
- Når en værditype konverteres til en referencetype kaldes den boksning (implicit konverteringsproces) .
- Når en referencetype konverteres til en værditype kaldes den for unboxing (eksplicit konverteringsproces) .
Anbefalede artikler
Dette er en guide til C # Datatyper. Her diskuterer vi typerne af C # sammen med forskellige eksempler på datatyper. Du kan også se på de følgende artikler for at lære mere-
- Sådan får du adgang til navneområder i C #?
- 2D-arrays i C #
- Udskiftning i C #
- Objekter i C #
- Udskiftning af PHP
- 3 forskellige typer arrays i PHP (eksempler)
- Datatyper af PHP med eksempler