var point = new Point(1, 1); // значення властивостей об'єкту: X = 1, Y = 1 point = point with { Y = 0 }; // значення властивостей об'єкту: X = 1, Y = 0 Препроцесор C# має «препроцесорні директиви» (хоча насправді він не має препроцесора) на основі препроцесора C, це дає програмісту можливість визначити символи, але не макроси. Умовні директиви, такі як #if, #endif, чи #else також можливі. Директиви типу #region дають натяк редактору для згортання фрагментів коду.