Sobes.tech
Junior — Middle

Ar kā atšķiras atslēgvārdi const un readonly programmēšanas kontekstā, un kādos gadījumos to lietošana ir vēlams?

sobes.tech AI

Atbilde no AI

C# valodā, atslēgas vārds const tiek izmantots konstantes deklarēšanai, kuru vērtības ir zināmas kompilācijas laikā un kuras nevar mainīties darbības laikā. Šādām vērtībām jābūt primitivām vai literālam un jābūt uzreiz inicializētām.

readonly tiek piemērots laukiem, kuru vērtību var iestatīt tikai deklarācijas laikā vai klases konstruktorā. Pēc inicializācijas vērtība nevar tikt mainīta, bet tā var tikt aprēķināta darbības laikā.

Kad lietot:

  • const — nemainīgām vērtībām, kas zināmas kompilācijas laikā (piemēram, skaitļi, virknes).
  • readonly — kad vērtība ir zināma tikai darbības laikā, piemēram, atkarīga no konstruktoru parametriem.

Piemērs:

public class Example {
    public const double Pi = 3.1415; // zināms kompilācijas laikā
    public readonly DateTime CreatedAt;

    public Example() {
        CreatedAt = DateTime.Now; // inicializācija darbības laikā
    }
}