C # Gegevenstypen - Top 3 C # gegevenstypen met voorbeelden

Inhoudsopgave:

Anonim

Inleiding tot C # gegevenstypen

Zoals de naam al doet vermoeden, is het gegevenstype het type gegevens dat u in uw variabele gaat opslaan. Het gegevenstype wordt gebruikt om de compiler of de tolk voor te stellen wat voor soort gegevens het gaat verwerken en hoeveel geheugen nodig is voor die gegevens.

Voor Ex: int is een gegevenstype dat numerieke waarde opslaat en vier bytes vereist.

Aangezien C # een sterk getypte taal is, is het noodzakelijk om het type variabele of constante te declareren voordat u het gebruikt. Correct gebruik van gegevenstypen bespaart geheugen en verbetert de prestaties van de toepassing.

Syntaxis:

datatype = value;

Voorbeelden van C # gegevenstypen:

1. int intVal = 55; In dit voorbeeld: int is een gegevenstype, intVal is een variabele_naam, 55 is een waarde.

2. char charVal = 'A';

3. string strVal = "Hallo wereld!";

4. float floatVal = 15, 5f;

5. bool boolVal = true;

Top 3 C # gegevenstypen

C # gegevenstypen zijn onderverdeeld in drie categorieën:

1. Waardetypes

  • Slaat de waarde van een variabele direct op in het geheugen.
  • Accepteert zowel ondertekende als niet-ondertekende literalen.
  • Er zijn twee soorten waardegegevenstypen in C #:
  1. Voorgedefinieerde gegevenstypen zoals int, char, bool, etc.
  2. Door de gebruiker gedefinieerde gegevenstypen zoals enum, struct, enz.

2. Referentietypen

  • Ze slaan het adres van de variabele op, dwz ze bevatten de verwijzing naar een variabele.
  • Als de gegevens door een variabele worden gewijzigd, krijgt de andere variabele automatisch de bijgewerkte waarde.
  • Er zijn twee soorten referentiegegevenstypen in C #:
  1. Voorgedefinieerde typen zoals Object, String
  2. Door de gebruiker gedefinieerde typen zoals Klasse, Interface

3. Wijzer typen

  • Ze bevatten het geheugenadres van de variabele.
  • Symbolen die in de aanwijzer worden gebruikt:
  1. & (ampersand) - Adresoperator, bepaalt het adres van een variabele
  2. * (asterisk) - Indirection-operator, toegang tot de waarde van een adres

Voorbeelden van verschillende gegevenstypen

Hier volgen enkele voorbeelden van verschillende gegevenstypen in C #,

Voorbeeld # 1: Sommige waardetypes

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

Output:

Voorbeeld # 2: Bool, Enum en Struct Data Type

De structuur is een samengesteld type dat wordt gebruikt om gerelateerde gegevens met verschillende gegevenstypen op te slaan. Enum wordt gebruikt om namen toe te wijzen aan integrale constanten.

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

Output:

Voorbeeld # 3: Referentiegegevenstypen

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

Output:

Voorbeeld # 4: Interface

Een interface kan eigenschappen, methoden, gebeurtenissen en indexers als leden hebben. Het bevat alleen de verklaring van zijn leden. De implementatie van haar leden wordt verzorgd door de klasse die het impliciet of expliciet implementeert.

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

Output:

Voorbeeld 5: gemachtigde

Een gemachtigde is een object dat de verwijzing naar de methode bevat.

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

Output:

Conclusie

  • Het waardetype wordt opgeslagen in de stapel.
  • Een referentietype wordt opgeslagen in heap.
  • Wanneer een waardetype wordt geconverteerd naar een referentietype, wordt dit boksen genoemd (impliciet conversieproces) .
  • Wanneer een referentietype wordt geconverteerd naar een waardetype, wordt dit unboxing genoemd (expliciet conversieproces) .

Aanbevolen artikelen

Dit is een gids voor C # gegevenstypen. Hier bespreken we de soorten C # samen met verschillende voorbeelden van gegevenstypen. U kunt ook de volgende artikelen bekijken voor meer informatie-

  1. Hoe toegang te krijgen tot Namespaces in C #?
  2. 2D-arrays in C #
  3. Ruilen in C #
  4. Objecten in C #
  5. Ruilen in PHP
  6. 3 verschillende soorten arrays in PHP (voorbeelden)
  7. Gegevenstypen van PHP met voorbeelden