Skip to Sidebar Skip to Content
اقرأ-تك اقرأ-تك
ضيفنا الكريم

  • قائمة القراءة
  • تسجيل الدخول
  • الرئيسية
  • المقالات
  • خطط الاشتراك
  • - اصدارتنا
  • ورقة وقلم
  • مدونات فطين
  • النشرة الأسبوعية
  • كتبنا وإصداراتنا
  • - تعرف علينا
  • من نحن
  • الشراكات
  • كتاب المحتوى
  • اكتب معنا
  • تواصل معنا
  • - بنود الخدمة
  • سياسة الخصوصية
  • الشروط والأحكام
الوسوم
  • Backend
  • Distributed Systems
  • System Design
  • Databases
  • LinkedIn
  • X
  • Facebook
  • Telegram
  • GitHub
جميع الحقوق محفوظة لمنصة اقرأ-تِك ©2026

Records In C# Deep Dive - Part 2

  • محمد مجدى by محمد مجدى
    محمد مجدى محمد مجدى
    Engineering Manager
    • Website
  • •
  • 8 Dec, 2023
  • •
  • 6 min read
  • Share on X
  • Share on Facebook
  • Share on LinkedIn
  • Share on Pinterest
  • Email
Records In C# Deep Dive - Part 2
Records In C# Deep Dive - Part 2
  • Backend
  • CSharap
  • Programming Language

استكمالا للمقال اللى فات عن ال  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 ؟

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

اشترك الآن وتصفح كافة المقالات المميزة واستمتع بمحتوى حصري وابق على اطلاع دائم بالتحديثات المستمرة.

اشترك الآن 🚀

هل لديك حساب؟ تسجيل الدخول

في هذا المقال
اشترك الآن واكمل قراءة المقال
ابدأ رحلتك الآن ابدأ رحلتك الآن
النشرة الأسبوعية

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

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

  • مقالات تقنية متعمقة في هندسة البرمجيات
  • شروحات بصرية لمفاهيم معقدة بطريقة مبسّطة
  • تجارب عملية من شركات عالمية
انضم لأكثر من 7,000 مشترك
+7,000
قارئ نشط ومشترك
نشرة أسبوعية كل يوم سبت

مقالات ذات صلة

  • Designing Data-Intensive Applications: Reliability

    Designing Data-Intensive Applications: Reliability

    Mohamad Hesham Mohamad Hesham • 27 Feb, 2026
    Mohamad Hesham Mohamad Hesham
    Full-Stack Developer
    • Website
  • The Complete Guide to Full Text Search in PostgreSQL 4 min read

    The Complete Guide to Full Text Search in PostgreSQL

    Yasser BABAOUAMER Yasser BABAOUAMER • 27 Feb, 2026
    Yasser BABAOUAMER Yasser BABAOUAMER
    Software Developer
    • Website
  • Designing Data-Intensive Applications: Introduction 1 min read

    Designing Data-Intensive Applications: Introduction

    Mohamad Hesham Mohamad Hesham • 17 Feb, 2026
    Mohamad Hesham Mohamad Hesham
    Full-Stack Developer
    • Website
  • Linux File Permissions Explained 2 min read

    Linux File Permissions Explained

    Alaa Elkzaz Alaa Elkzaz • 13 Feb, 2026
    Alaa Elkzaz Alaa Elkzaz
    Co-Founder & Software Engineer
    • Website
  • How VPN Works? 1 min read

    How VPN Works?

    Alaa Elkzaz Alaa Elkzaz • 23 Jan, 2026
    Alaa Elkzaz Alaa Elkzaz
    Co-Founder & Software Engineer
    • Website
  • Internet Download Manager Use-case 1 min read

    Internet Download Manager Use-case

    Mohamed Aly Mohamed Aly • 9 Dec, 2025
    Mohamed Aly Mohamed Aly
    Software Engineer
    • Website
  • OLTP and OLAP in Database Performance at Scale 1 min read

    OLTP and OLAP in Database Performance at Scale

    Ahmed Mohamed Ahmed Mohamed • 11 Nov, 2025
    Ahmed Mohamed Ahmed Mohamed
    Senior Software Engineer
    • Website
  • HTTP Versions Explained 1 min read

    HTTP Versions Explained

    Alaa Elkzaz Alaa Elkzaz • 8 Nov, 2025
    Alaa Elkzaz Alaa Elkzaz
    Co-Founder & Software Engineer
    • Website
  • Wallet Payments Explained 1 min read

    Wallet Payments Explained

    Muhammad Bassiouny Muhammad Bassiouny • 27 Sep, 2025
    Muhammad Bassiouny Muhammad Bassiouny
    Software Developer
    • Website
  • Payment Gateway Integrations 1 min read

    Payment Gateway Integrations

    Muhammad Bassiouny Muhammad Bassiouny • 1 Sep, 2025
    Muhammad Bassiouny Muhammad Bassiouny
    Software Developer
    • Website
اقرأ-تك اقرأ-تك
  • الرئيسية
  • المقالات
  • خطط الاشتراك
  • - اصدارتنا
  • ورقة وقلم
  • مدونات فطين
  • النشرة الأسبوعية
  • كتبنا وإصداراتنا
  • - تعرف علينا
  • من نحن
  • الشراكات
  • كتاب المحتوى
  • اكتب معنا
  • تواصل معنا
  • - بنود الخدمة
  • سياسة الخصوصية
  • الشروط والأحكام
الوسوم
  • Backend
  • Distributed Systems
  • System Design
  • Databases
  • LinkedIn
  • X
  • Facebook
  • Telegram
  • GitHub
جميع الحقوق محفوظة لمنصة اقرأ-تِك ©2026

كل ما يخص هندسة البرمجيات 🚀

شارك هذا المحتوى الآن وساعدنا في تحقيق رؤيتنا لإثراء المحتوى التقني في العالم العربي!

أو انقر لنسخ الرابط