How to initialize a structure
using System;
// Define a structure.
struct Book {
public string author;
public string title;
public int copyright;
public Book(string a, string t, int c) {
author = a;
title = t;
copyright = c;
}
}
class MainClass {
public static void Main() {
Book book1 = new Book("author", "Book name", 2005);
Book book2 = new Book(); // default constructor
Book book3;
Console.WriteLine(book1.title + " by " + book1.author + ", (c) " + book1.copyright);
Console.WriteLine();
if(book2.title == null)
Console.WriteLine("book2.title is null.");
book2.title = "title";
book2.author = "author";
book2.copyright = 1932;
Console.Write("book2 now contains: ");
Console.WriteLine(book2.title + " by " + book2.author + ", (c) " + book2.copyright);
Console.WriteLine();
// Console.WriteLine(book3.title); // error, must initialize first
book3.title = "Red Storm Rising";
Console.WriteLine(book3.title); // now OK
}
}
Book name by author, (c) 2005
book2.title is null.
book2 now contains: title by author, (c) 1932
Red Storm Rising
Use this to reference struct"s constructor
public struct ComplexNumber
{
public ComplexNumber( double real, double imaginary )
{
this.real = real;
this.imaginary = imaginary;
}
public ComplexNumber( double real ):this( real, 0 )
{
this.real = real;
}
private double real;
private double imaginary;
}
public class MainClass
{
static void Main()
{
ComplexNumber valA = new ComplexNumber( 1, 2 );
}
}