Introducció als tipus de registre en C# amb exemples

Introduccio Als Tipus De Registre En C Amb Exemples



Els tipus de registre són una característica nova introduïda a C# 9 que proporciona una sintaxi simplificada per crear classes que s'utilitzen principalment per emmagatzemar dades. Un tipus de registre és una classe que defineix un conjunt de propietats per contenir dades, però també inclou altres característiques com ara la comparació d'igualtat, hash i molt més. Aquest article introduirà el concepte de tipus de registre en C# i n'explorarà els avantatges i limitacions.

Quina és la necessitat del tipus de registre

Un dels avantatges principals d'utilitzar tipus de registre és que proporcionen una sintaxi més concisa per definir classes que només contenen dades. Això fa que el codi sigui més fàcil de llegir i entendre, alhora que redueix la quantitat de codi que cal escriure. A més, els tipus de registre estan dissenyats per ser immutables de manera predeterminada, cosa que ajuda a prevenir errors causats per l'estat mutable.

Un altre avantatge d'utilitzar tipus de registre és que inclouen suport integrat per a comparacions d'igualtat, codis hash i representacions de cadena.







Introducció als tipus de registre en C#

Els tipus de registre en C# proporcionen una manera concisa de definir tipus per a estructures de dades petites i immutables. Quan creeu un registre nou, podeu passar valors per a les propietats al constructor i després accedir a aquests valors mitjançant la sintaxi de la propietat. S'utilitzen per simplificar la creació i l'ús d'objectes que tenen una estructura ben definida i que no necessiten ser modificats després de la creació.



registre públic < RecordName > ( < Llista de paràmetres > ) ;

La paraula clau pública fa que el tipus de registre sigui accessible per a altres classes del programa. La paraula clau de registre defineix el tipus de l'objecte, seguida del nom del tipus de registre. La llista de paràmetres defineix les propietats del tipus de registre. Aquí hi ha un exemple que s'ha fet en el qual he emmagatzemat detalls de l'empresa com el nom, el departament i la categoria, a continuació es mostra el codi:



utilitzant el sistema;

// Definiu un registre anomenat CompanyDetails amb tres propietats de cadena: Nom, Departament i Categoria
Detalls de l'empresa discogràfica ( string Nom, string Departament, string Categoria ) ;

programa de classe
{
buit estàtic Principal ( corda [ ] args )
{
// Creeu una nova instància del registre CompanyDetails i passi en els valors de la propietat
CompanyDetails company = nous CompanyDetails ( 'Suggeriment de Linux' , 'Escriptura de continguts' , 'Linux' ) ;

// Imprimiu el nom de l'empresa, el departament i la categoria
Consola.WriteLine ( $ 'Nom de l'empresa: {company.Name}' ) ;
Consola.WriteLine ( $ 'Departament: {company.Department}' ) ;
Consola.WriteLine ( $ 'Categoria: {empresa.Categoria}' ) ;
}
}

En aquest programa, creem un registre anomenat CompanyDetails que té tres propietats: Nom, Departament i Categoria, cadascun dels quals és una cadena. Aleshores creem una nova instància de CompanyDetails anomenada empresa i passem valors per a cadascuna de les propietats. A continuació, les instruccions Console.WriteLine generen els valors de les propietats Name, Department i Category de l'objecte de l'empresa, aquí teniu la sortida del codi:





També podeu definir diversos tipus de registre en C# i cada tipus de registre pot tenir el seu propi conjunt únic de propietats. Per exemple, podeu definir un tipus de registre per a l'empleat i un altre per als detalls de l'empresa i aquí teniu el codi per a això:



utilitzant el sistema;

// Definició d'un registre per emmagatzemar els detalls d'una empresa
Detalls de l'empresa discogràfica ( string Nom, string Departament, string Categoria ) ;

// Definició d'un registre per emmagatzemar les dades d'un empleat
registre EmployeeDetails ( string Nom, int EmployeeID, int Edat ) ;

programa de classe
{
buit estàtic Principal ( corda [ ] args )
{
// Creació d'una instància del registre CompanyDetails i inicialització dels seus valors
var companyDetails = nous CompanyDetails ( 'Suggeriment de Linux' , 'Escriptura de continguts' , 'Linux' ) ;

// Impressió dels valors del registre CompanyDetails mitjançant la interpolació de cadenes
Consola.WriteLine ( $ 'Nom de l'empresa: {companyDetails.Name}' ) ;
Consola.WriteLine ( $ 'Departament: {companyDetails.Department}' ) ;
Consola.WriteLine ( $ 'Categoria: {companyDetails.Category}' ) ;

// Creació d'una instància del registre EmployeeDetails i inicialització dels seus valors
varDetails empleat = nous Detalls de l'empleat ( 'Senyal' , 7834 , 25 ) ;

// Impressió dels valors del registre EmployeeDetails mitjançant la interpolació de cadenes
Consola.WriteLine ( $ 'Nom de l'empleat: {employeeDetails.Name}' ) ;
Consola.WriteLine ( $ 'Identificador de l'empleat: {employeeDetails.EmployeeID}' ) ;
Consola.WriteLine ( $ 'Edat de l'empleat: {employeeDetails.Age}' ) ;
}
}

En primer lloc, definim un tipus de registre CompanyDetails amb tres propietats: CompanyName, Department i Category. Aleshores creem una nova instància del registre CompanyDetails i inicialitzem les seves propietats amb els valors 'Linux hint', 'Content Writing' i 'Linux'.

A continuació, definim un altre tipus de registre EmployeeDetails amb tres propietats: Nom, EmployeeID i Edat. A continuació, creem una nova instància del registre EmployeeDetails i inicialitzem les seves propietats amb els valors 'Mark', 7834 i 25. Finalment, fem servir les instruccions Console.WriteLine per mostrar els valors de les propietats dels registres CompanyDetails i EmployeeDetails, aquí és la sortida del codi:

Conclusió

Els tipus de registre són una característica nova que es va introduir a C# 9 que proporciona una sintaxi simplificada per crear classes que emmagatzemen dades. Proporcionen diversos avantatges, com ara una sintaxi concisa, comparació automàtica d'igualtat, hashing, impressió i creació fàcil d'objectes immutables.

Tanmateix, també tenen algunes limitacions, com ara la incapacitat d'heretar d'altres classes i una funcionalitat limitada per a una lògica complexa. En general, els tipus de registre són una eina útil per als desenvolupadors de C# i poden millorar la llegibilitat i el manteniment del seu codi.