Les types de structure possèdent de nombreuses similarités avec les classes.

Les structures peuvent exécuter des interfaces et peuvent avoir le même genre de membres.

Néanmoins, les structures diffèrent des classes :

  • Les types de structures sont des types de valeur plutôt que des types de référence.
  • L'héritage n'est pas supporté par les types de structure.
  • Les valeurs des structures sont stockées sur la pile (on the stack) ou en ligne permettant d'accroître significativement les performances d'une application.
Exemple
/*
class Point
{
  public int x, y;
  public Point(int x, int y)
  {
    this.x = x;
    this.y = y;
   }
}
*/

struct Point
{
  public int x, y;
  public Point(int x, int y) {
    this.x = x;
    this.y = y;
  }
}

class Test
{
  static void Main()
  {
    Point[] points = new Point[100];
    for (int i = 0; i < 100; i++)
      points[i] = new Point(i, i*i);
  }
}