Linq : automatische eigenschappen, initializers

  1. Automatische eigenschappen
  2. Object initializers
  3. Collection initializers

Automatische eigenschappen

Automatische eigenschappen in C# staan toe om eigenschappen die enkel een waarde uit een private variabele lezen en schrijven verkort voor te stellen.

Zo kan code zoals dit:

public class Person {

    private string _firstName;
    private string _lastName;
    private int _age;
    
    public string FirstName {

        get {
            return _firstName;
        }
        set {
            _firstName = value;
        }
    }

    public string LastName {

        get {
            return _lastName;
        }
        set {
            _lastName = value;
        }
    }        
    
    public int Age {

        get {
            return _age;
        }
        set {
            _age = value;
        }
    }

Geschreven worden als:

public class Person {
        public string FirstName { get; set; }
        public string LastName  { get; set; }        
        public int    Age       { get; set; }
}

Object initializers

Vaak schrijf je bij aanmaken van een object dergelijke code:
Person person = new Person();
person.FirstName = "William";
person.LastName = "Schokkele";
person.Age = 35;

Door gebruik te maken van object initializing wordt dit:

Person person = new Person { FirstName="William", LastName="Schokkele", Age=35 };

Of wanneer het adres van de Person ook een object is:

Person person = new Person {
FirstName = "William",
LastName = "Schokkele"
Age = 35,
Address = new Address {
         Street = "Manitobalaan",
         City = "Brugge",
         State = "WVL",
         Zip = 8200
      }
};

Collection initializers

Om een collectie van elementen te initialiseren heb je wellicht al vaak dergelijk code geschreven:
List<Person> people = new List<Person>();

people.Add( new Person { FirstName = "William", LastName = "Schokkele", Age = 35 } );
people.Add( new Person { FirstName = "Bill", LastName = "Gates", Age = 50 } );
people.Add( new Person { FirstName = "Hanne", LastName = "Schokkele", Age = 7 } );

Dit kan als volgt met een collection initializer:

List<Person> people = new List<Person> {
   new Person { FirstName = "William", LastName = "Schokkele", Age = 35 },
   new Person { FirstName = "Bill", LastName = "Gates", Age = 50 },
   new Person { FirstName = "Hanne", LastName = "Schokkele", Age = 7 }
};

Meer tutorials:
leer ook: html | xhtml | css | asp | asp.net | c# | ado.net | linq | ajax | java | javascript
Valid HTML 4.01! Valid CSS! © - Cursusweb