Records In C# Deep Dive - Part 2

استكمالا للمقال اللى فات عن ال  records هنكمل النهارده فى الأجزاء اللى متكلمناش فيها فى المقال اللى فات و هنحاول نغطى أجزاء جديدة مهمة جداً فى الموضوع.
Records In C# Deep Dive - Part 2
Records In C# Deep Dive - Part 2

في هذه الصفحة

استكمالا للمقال اللى فات عن ال  records هنكمل النهارده فى الأجزاء اللى متكلمناش فيها فى المقال اللى فات و هنحاول نغطى أجزاء جديدة مهمة جداً فى الموضوع.

هنبدأ الأول بتكملة بسيطه للجزء اللى فات و هو طريقة تعريف ال record  فى الكود والطريقه اللى اتكلمنا عليها فى المقال اللى فات هى:

record Employee(string FirstName, string LastName, double Salary);

ولكن فيه طريقه تانيه زى اللى فى ال code snippet  الجايه:

Record as Class Declaration

var employee1 = new Employee { FirstName = "Mohamed", LastName = "Magdi", Salary = 1000 };
var employee2 = new Employee { FirstName = "Mohamed", LastName = "Magdi", Salary = 1000 };

Console.WriteLine(employee1); // Output: Employee { FirstName = Mohamed, LastName = Magdi, Salary = 1000 }
Console.WriteLine(employee2); // Output: Employee { FirstName = Mohamed, LastName = Magdi, Salary = 1000 }
Console.WriteLine($"Is Equal = {employee1 == employee2}"); // Output: IsEqual = True

employee1.LastName = "Prop is mutable here!";
Console.WriteLine($"Is Equal = {employee1 == employee2}"); // Output: IsEqual = False

record Employee
{
	public string FirstName { get; set; }
	public string LastName { get; set; }
	public double Salary { get; set; }
}

زى ما احنا شايفين هنا، هو نفس تعريف الـ class بالظبط ولكن هنا لما بدلت كلمة class بكلمة record  خدت كل الخصائص بتاعت ال record  الا feature واحدة وهى Immutability  ف دى برده طريقة تقدر تستفيد بيها بال record  لو مش فارق معاك ال immutability  و هتكون سهلة جدا فى ال Migration لو عايز تعدل الـ DTOs  بتاعتك مثلا كلها تكون record عشان تستفيد بباقي المميزات 

طيب لو عايزين ناخد  كمان الـ immutability و بالـ syntax بتاع ال class ؟

هذا المقال مخصص للأعضاء المنتسبين لخطط الاشتراك المدفوعة فقط

اشترك الآن بنشرة اقرأ-تِك الأسبوعية

لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!