C# 9 introduce un nuovo tipo di oggetto: record. Un record è una classe immutabile che implementa proprietà in sola lettura che possono essere impostate solo all'interno del costruttore e che implementa automaticamente l'uguaglianza tra istanze basandosi sui valori delle proprietà.
public record Person { public string FirstName { get; } public string LastName { get; } public Person(string firstName, string lastName) { FirstName = firstName; LastName = lastName; } } var p1 = new Person("Stefano", "Mostarda"); var p2 = new Person("Stefano", "Mostarda"); var equals = p1 == p2; //true
In questo esempio, la classe Person contiene due proprietà che vengono valorizzate tramite costruttore. Successivamente vengono create due istanze della classe a cui vengono passati in input gli stessi dati. Infine, vengono comparate le due istanze e il risultato è che queste sono uguali in quanto contengono gli stessi dati.
Se invece che un record avessimo usato una classe, le due istanze sarebbero state diverse in quanto non non verrebbero comparati i valori ma il riferimento alle istanze.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.