Auto properties store simple public state without writing a separate field.

property A property exposes a named value on an object.

Auto Properties

title
AutoProperties.cs
Replay: real traced execution (multi-file project)
using System;

class Book
{
    public string Title { get; set; } = "";
    public int Pages { get; set; }
}

class Program
{
    static void Main()
    {
        string title = "Guide";
        Book book = new Book();
        book.Title = title;
        book.Pages = 48;

        Console.WriteLine($"title={book.Title}");
        Console.WriteLine($"pages={book.Pages}");
    }
}
using System;

class Book
{
    public string Title { get; set; } = "";
    public int Pages { get; set; }
}

class Program
{
    static void Main()
    {
        string title = "Primer";
        Book book = new Book();
        book.Title = title;
        book.Pages = 48;

        Console.WriteLine($"title={book.Title}");
        Console.WriteLine($"pages={book.Pages}");
    }
}
using System;

class Book
{
    public string Title { get; set; } = "";
    public int Pages { get; set; }
}

class Program
{
    static void Main()
    {
        string title = "Manual";
        Book book = new Book();
        book.Title = title;
        book.Pages = 48;

        Console.WriteLine($"title={book.Title}");
        Console.WriteLine($"pages={book.Pages}");
    }
}
  1. title ← Guide, book ← Book, book.Title ← Guide, book.Pages ← 48

    10{11    static void Main()12    {13        string title→ Guide = "Guide"; //@title="Primer", "Manual"14        Book book→ Book = new Book();15        book.Title→ Guide = titleGuide;16        book.Pages→ 48 = 48;1718        Console.WriteLine($"title={book.TitleGuide}");19        Console.WriteLine($"pages={book.Pages48}");20    }
    outputtitle=Guide
    pages=48
  1. title ← Primer, book ← Book, book.Title ← Primer, book.Pages ← 48

    10{11    static void Main()12    {13        string title→ Primer = "Primer";14        Book book→ Book = new Book();15        book.Title→ Primer = titlePrimer;16        book.Pages→ 48 = 48;1718        Console.WriteLine($"title={book.TitlePrimer}");19        Console.WriteLine($"pages={book.Pages48}");20    }
    outputtitle=Primer
    pages=48
  1. title ← Manual, book ← Book, book.Title ← Manual, book.Pages ← 48

    10{11    static void Main()12    {13        string title→ Manual = "Manual";14        Book book→ Book = new Book();15        book.Title→ Manual = titleManual;16        book.Pages→ 48 = 48;1718        Console.WriteLine($"title={book.TitleManual}");19        Console.WriteLine($"pages={book.Pages48}");20    }
    outputtitle=Manual
    pages=48