Właściwości automatyczne
W języku C# istnieje możliwość implementacji właściwości automatycznych, które umożliwiają deklarację właściwości bez konieczności użycia gettera i settera.

Właściwości automatyczne
są często używane, gdy nie ma potrzeby
dodatkowej funkcjionalności w getterze lub setterze, zaletą ich
użycia jest uproszczenie kodu i skrócenie deklaracji właściwości.
using System;
class Program
{
public int wiek { get; set; }
}
//Właściwość nie posiada gettera ani settera, ponieważ zostaną one zaimplementowane automatycznie
Nadpisywanie wartości do właściwości automatycznych
zapisywanie wartości do właściwości automatycznych jest możliwe za pomocą sekcji
initialization
using System;
class Program;
{
public int Wiek { get; set; } = 12; //właściwość automatyczną "Wiek", do której zostało przypisane 12
}
var obiekt = new Program(); //Tworzenie obiektu klasy Program
Console.WriteLine(obiekt.Wiek); //Przypisanie obiektu klasy do właściwości "Wiek"
Wymagane Właściwości
Element członkowski required
służy do oznaczania pola lub właściwości jako wymaganej.
using System;
class Program
{
public string Imie { get; set; }
public int Wiek { get; set; }
}

Atrybut ten może być używany do walidacji danych przed zapisem ich do bazy danych lub w innych sytuacjach, gdzie konieczne jest sprawdzenie, czy pole lub właściwość została uzupełniona.