Usage with non-default constructors

suggest change

You can combine object initializers with constructors to initialize types if necessary. Take for example a class defined as such:

public class Book {
  public string Title { get; set; }
  public string Author { get; set; }

  public Book(int id) {
      //do things
  }

  // the rest of class definition
}

var someBook = new Book(16) { Title = "Don Quixote", Author = "Miguel de Cervantes" }

This will first instantiate a Book with the Book(int) constructor, then set each property in the initializer. It is equivalent to:

var someBook = new Book(16);
someBook.Title = "Don Quixote";
someBook.Author = "Miguel de Cervantes";

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:


Object Initializers:
* Usage with non-default constructors

Table Of Contents
17 Regex
19 Arrays
21 Enum
22 Tuples
24 GUID
27 Looping
36 Casting
45 Object Initializers
46 Methods
88 Events
92 Structs
104 Indexer
106 Stream
107 Timers
109 Threading
127 Caching
135 Pointers
147 C# Script