Maison  >  Article  >  développement back-end  >  Types de données C#

Types de données C#

WBOY
WBOYoriginal
2024-09-03 15:02:381081parcourir

Comme son nom l'indique, le type de données est le type de données que vous allez stocker dans votre variable. Le type de données est utilisé pour suggérer au compilateur ou à l'interprète le type de données qu'il va traiter et la quantité de mémoire requise pour ces données.

Par exemple : int est un type de données qui stocke des valeurs numériques et nécessite quatre octets.

Le C# étant un langage fortement typé, il est nécessaire de déclarer le type de variable ou de constante avant de l'utiliser. L'utilisation appropriée des types de données économise de la mémoire et améliore les performances de l'application.

Syntaxe :

datatype <variable_name> = value;

Exemples de types de données C# :

1. int intVal = 55 ; Dans cet exemple : int est un type de données, intVal est un nom_variable, 55 est une valeur.

2. char charVal = 'A';

3. string strVal = « Bonjour tout le monde ! »;

4. float floatVal = 15.5f;

5. bool boolVal = vrai;

Les 3 meilleurs types de données C#

Les types de données C# sont divisés en trois catégories :

Types de données C#

1. Types de valeur

  • Stocke directement la valeur d'une variable en mémoire.
  • Accepte les littéraux signés et non signés.

Il existe deux types de types de données valeur en C# :

  1. Types de données prédéfinis comme int, char, bool, etc.
  2. Types de données définis par l'utilisateur comme enum, struct, etc.

2. Types de référence

  • Ils stockent l'adresse de la variable, c'est-à-dire qu'ils contiennent la référence à une variable.
  • Si les données sont modifiées par une variable, l'autre variable obtiendra automatiquement la valeur mise à jour.

Il existe deux types de types de données de référence en C# :

  1. Types prédéfinis comme Object, String
  2. Types définis par l'utilisateur comme Classe, Interface

3. Types de pointeurs

  • Ils contiennent l'adresse mémoire de la variable.

Symboles utilisés dans le pointeur :

  1. &(esperluette) : Opérateur d'adresse, détermine l'adresse d'une variable
  2. *(astérisque) : Opérateur d'indirection, accès à la valeur d'une adresse

Exemples de différents types de données

Voici quelques exemples de différents types de données en C#,

Exemple n°1 : Certains types de valeurs

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

Sortie :

Types de données C#

Exemple n°2 : types de données Bool, Enum et Struct

La structure est un type composite utilisé pour stocker des données associées avec différents types de données. Enum est utilisé pour attribuer des noms aux constantes intégrales.

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

Sortie :

Types de données C#

Exemple n°3 : Types de données de référence

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

Sortie :

Types de données C#

Exemple n°4 : Interface

Une interface peut avoir des propriétés, des méthodes, des événements et des indexeurs comme membres. Il ne contient que la déclaration de ses membres. L'implémentation de ses membres est assurée par la classe qui l'implémente implicitement ou explicitement.

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

Sortie :

Types de données C#

Exemple n°5 : Délégué

Un délégué est un objet qui contient la référence à la méthode.

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

Sortie :

Types de données C#

Conclusion

  • Le type de valeur est stocké dans la pile.
  • Un type de référence est stocké dans le tas.
  • Lorsqu'un type valeur est converti en type référence, cela s'appelle boxing (processus de conversion implicite).
  • Lorsqu'un type référence est converti en type valeur, cela est appelé unboxing (processus de conversion explicite).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Versions C#Article suivant:Versions C#