Властивість

Приховуємо нашу змінну через модифікатор private, 

та надаємо public get і public set методи для доступу

Усі поля, які не змінюються після народженні матимуть лише get

Повний варіант

class A

{

     private string name;  // поле (field)

     public string Name    // властивість (property)

     {

          get { return name; }

          set { name = value; }

     }

}

class Program

{

     static void Main(string[] args)

     {

          A obj = new A();

          obj.Name = "Taras";

          Console.WriteLine(obj.Name);

     }

}

Скорочений варіант

class A

{

     public string Name{ get; set; }  // = "Taras";  працює без реалізації методів

     public A() {

          Name = "Taras";

     }

}

static void Main(string[] args)

{

     A obj = new A();

     Console.WriteLine(obj.Name); // Taras

     Console.ReadLine();

}

Якщо властивостей багато, C# 9

        class A

        {

            public int X { get; init; }

            public int Y { get; init; }

        }

        static void Main(string[] args)

        {

            A obj = new A() { 

                X = 10,

                Y = 5

            }

        }