Bevezetés a rekordtípusokba C# nyelven példákkal

Bevezetes A Rekordtipusokba C Nyelven Peldakkal



A rekordtípusok a C#9-ben bevezetett új szolgáltatás, amely egyszerűsített szintaxist biztosít az elsősorban adatok tárolására használt osztályok létrehozásához. A rekordtípus egy olyan osztály, amely meghatározza az adatok tárolására szolgáló tulajdonságok halmazát, de más funkciókat is tartalmaz, mint például az egyenlőség-összehasonlítás, a hashelés és egyebek. Ez a cikk bemutatja a rekordtípusok fogalmát a C# nyelvben, és feltárja előnyeiket és korlátaikat.

Mire van szükség a rekordtípusra

A rekordtípusok használatának egyik elsődleges előnye, hogy tömörebb szintaxist biztosítanak a csak adatokat tároló osztályok meghatározásához. Ez megkönnyíti a kód olvashatóságát és megértését, miközben csökkenti a megírandó kód mennyiségét. Ezenkívül a rekordtípusok alapértelmezés szerint változtathatatlanok, ami segít megelőzni a változtatható állapot okozta hibákat.

A rekordtípusok használatának másik előnye, hogy beépített támogatással rendelkeznek az egyenlőség-összehasonlításokhoz, a hash kódokhoz és a karakterlánc-reprezentációkhoz.







Bevezetés a C# rekordtípusokba

A C# rekordtípusai tömör módot kínálnak a kis, megváltoztathatatlan adatstruktúrák típusainak meghatározására. Amikor új rekordot hoz létre, átadhat értékeket a tulajdonságokhoz a konstruktorban, majd elérheti ezeket az értékeket a tulajdonság szintaxisával. Arra szolgálnak, hogy leegyszerűsítsék az olyan objektumok létrehozását és használatát, amelyek jól meghatározott szerkezettel rendelkeznek, és a létrehozás után nem kell őket módosítani.



nyilvános nyilvántartás < RecordName > ( < ParameterList > ) ;

A nyilvános kulcsszó a rekordtípust elérhetővé teszi a program többi osztálya számára. A rekord kulcsszó határozza meg az objektum típusát, majd a rekordtípus nevét. A ParameterList határozza meg a rekordtípus tulajdonságait. Íme egy példa, amelyre olyan cégadatokat tároltam, mint a név, a részleg és a kategória, alább látható a kódja:



Rendszer használata;

// Határozzon meg egy CompanyDetails nevű rekordot három karakterlánc tulajdonsággal: Név, Részleg és Kategória
Record CompanyDetails ( string Név, karakterlánc Osztály, karakterlánc Kategória ) ;

osztály Programja
{
statikus üres Fő ( húr [ ] args )
{
// Hozzon létre egy új példányt a CompanyDetails rekordból, és adja át ban ben az ingatlanértékeket
CompanyDetails cég = új CompanyDetails ( 'Linux tipp' , 'Tartalomírás' , 'Linux' ) ;

// Nyomtassa ki a cég nevét, osztályát és kategóriáját
Console.WriteLine ( $ 'Cég neve: {company.Name}' ) ;
Console.WriteLine ( $ 'Osztály: {company.Department}' ) ;
Console.WriteLine ( $ 'Kategória: {company.Category}' ) ;
}
}

Ebben a programban létrehozunk egy CompanyDetails nevű rekordot, amelynek három tulajdonsága van: Név, Osztály és Kategória, amelyek mindegyike egy karakterlánc. Ezután létrehozzuk a CompanyDetails új példányát company néven, és minden tulajdonsághoz értéket adunk át. A Console.WriteLine utasítások ezután a cégobjektum Name, Department és Category tulajdonságainak értékeit adják ki, itt a kód kimenete:





Több rekordtípust is definiálhat a C#-ban, és minden rekordtípusnak saját egyedi tulajdonságkészlete lehet. Például megadhat egy rekordtípust az alkalmazotthoz, egy másikat a vállalati adatokhoz, és itt van ennek kódja:



Rendszer használata;

// Rekord meghatározása egy cég adatainak tárolására
Record CompanyDetails ( string Név, karakterlánc Osztály, karakterlánc Kategória ) ;

// Rekord meghatározása az alkalmazott adatainak tárolására
rekord EmployeeDetails ( string Név, int Munkavállalóazonosító, int Életkor ) ;

osztály Programja
{
statikus üres Fő ( húr [ ] args )
{
// A CompanyDetails rekord példányának létrehozása és értékeinek inicializálása
var companyDetails = new CompanyDetails ( 'Linux tipp' , 'Tartalomírás' , 'Linux' ) ;

// A CompanyDetails rekord értékeinek kinyomtatása karakterlánc-interpoláció segítségével
Console.WriteLine ( $ 'Cég neve: {companyDetails.Name}' ) ;
Console.WriteLine ( $ 'Osztály: {companyDetails.Department}' ) ;
Console.WriteLine ( $ 'Kategória: {companyDetails.Category}' ) ;

// Az EmployeeDetails rekord példányának létrehozása és értékeinek inicializálása
var munkavállalóDetails = new EmployeeDetails ( 'Mark' , 7834 , 25 ) ;

// Az EmployeeDetails rekord értékeinek kinyomtatása karakterlánc-interpoláció segítségével
Console.WriteLine ( $ 'Alkalmazott neve: {employeeDetails.Name}' ) ;
Console.WriteLine ( $ 'Alkalmazotti azonosító: {employeeDetails.EmployeeID}' ) ;
Console.WriteLine ( $ 'Alkalmazott életkora: {employeeDetails.Age}' ) ;
}
}

Először is meghatározunk egy CompanyDetails rekordtípust három tulajdonsággal: CompanyName, Department és Category. Ezután létrehozzuk a CompanyDetails rekord új példányát, és inicializáljuk tulajdonságait a „Linux-hint”, „Content Writing” és „Linux” értékekkel.

Ezután meghatározunk egy másik EmployeeDetails rekordtípust három tulajdonsággal: Név, Alkalmazottazonosító és Életkor. Ezután létrehozzuk az EmployeeDetails rekord új példányát, és a tulajdonságait a „Mark”, 7834 és 25 értékekkel inicializáljuk. Végül a Console.WriteLine utasításokat használjuk a CompanyDetails és az EmployeeDetails rekordok tulajdonságainak értékeinek kiadására, itt. a kód kimenete:

Következtetés

A rekordtípusok a C# 9-ben bevezetett új szolgáltatás, amely egyszerűsített szintaxist biztosít az adatokat tároló osztályok létrehozásához. Számos előnnyel rendelkeznek, beleértve a tömör szintaxist, az automatikus egyenlőség-összehasonlítást, a kivonatolást, a nyomtatást és a megváltoztathatatlan objektumok egyszerű létrehozását.

Vannak azonban bizonyos korlátaik is, mint például a más osztályoktól való öröklés képtelensége és a bonyolult logika korlátozott funkcionalitása. Összességében a rekordtípusok hasznos eszközt jelentenek a C# fejlesztők számára, és javíthatják kódjuk olvashatóságát és karbantarthatóságát.