Export (0) Print
Expand All

Struct Constructors

Visual Studio .NET 2003

Struct constructors are similar to class constructors, except for the following differences:

  • Structs cannot contain explicit parameterless constructors. Struct members are automatically initialized to their default values.
  • A struct cannot have an initializer in the form: base (argument-list).

Example

The following is an example of a constructor using two arguments for the Point struct.

// Structctor1.cs
using System;

public struct Point 
{
   public int x, y;
   // Constructor:
   public Point(int x, int y) 
   {
      this.x = x;
      this.y = y;
   }
   // Override the ToString method:
   public override string ToString()
   {
      return(String.Format("({0},{1})", x, y));   
   }
}

class MainClass 
{
   static void Main()  
   {
      // Initialize two points:
      Point p1 = new Point();
      Point p2 = new Point(10,15);

      // Display the results using the overriden ToString method:
      Console.WriteLine("Point #1 (default initialization): {0}", p1);
      Console.WriteLine("Point #2 (explicit initialization): {0}", p2);
   }
}

Output

Point #1 (default initialization): (0,0)
Point #2 (explicit initialization): (10,15)

For more information on structs, see struct and the Structs Tutorial.

For a complete comparison between structs and classes, see 11.3 Class and struct differences.

See Also

Constructors and Destructors | Class Constructors

Show:
© 2014 Microsoft