Records In C# Deep Dive - Part 2

استكمالا للمقال اللى فات عن ال  records هنكمل النهارده فى الأجزاء اللى متكلمناش فيها فى المقال اللى فات و هنحاول نغطى أجزاء جديدة مهمة جداً فى الموضوع.
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 ؟

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

اشترك الآن بنشرة اقرأ-تِك الإخبارية

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