في C # ، من المعروف أن المصفوفة و ArrayList هما أكثر أنواع البيانات استخدامًا. المصفوفة هي الوظيفة الأساسية للغة البرمجة C # ، بينما ArrayList في C # هي مجموعة.
الوجبات السريعة الرئيسية
- ArrayList عبارة عن مجموعة ديناميكية يمكن تغيير حجمها ويمكنها تخزين عناصر من أي نوع بيانات ، وضبط حجمها تلقائيًا عند إضافة العناصر أو إزالتها. ومع ذلك ، قد يكون لها تكلفة أداء بسبب ملاكمة أنواع القيمة وإخراجها من علبتها.
- المصفوفات في C # هي مجموعات ذات حجم ثابت ومكتوبة بشدة يمكنها تخزين عناصر من نوع بيانات معين ، وتقدم أداءً أفضل بسبب التخلص من الملاكمة وإلغاء العبوة ولكنها تتطلب حجمًا محددًا مسبقًا عند التهيئة.
- يتمثل الاختلاف الأساسي بين ArrayList و Array في C # في المرونة وسلامة النوع ، حيث توفر ArrayList تغييرًا ديناميكيًا وتخزينًا لأنواع بيانات متعددة. في المقابل ، توفر المصفوفات أداءً أفضل وأمانًا من النوع ولكن لها حجم ثابت.
ArrayList مقابل Array في C #
ArrayList هي قائمة ديناميكية من الكائنات التي يمكن أن تنمو أو تتقلص ، بينما يكون للمصفوفة حجم ثابت. يحتوي ArrayList على طرق لمعالجة البيانات ، مثل إضافة العناصر أو إزالتها ، بينما تتطلب المصفوفة تغيير الحجم يدويًا. يمكن لـ ArrayList تخزين عناصر من أنواع بيانات مختلفة ، بينما يمكن للمصفوفة تخزين عناصر من نفس نوع البيانات.
للوصول إلى البيانات من ArrayList ، يحتاج المرء إلى تكرارها باستخدام الكائن ، بينما في المصفوفة ، يمكن الوصول إليها بسهولة دون أي شيء.
جدول المقارنة
معلمة المقارنة | ArrayList | مجموعة |
---|---|---|
النوع | ArrayList من نوع غير عام | يتم كتابة المصفوفة بقوة. يمكن تخزين قيم من نفس نوع البيانات فقط. |
عدد العناصر | إنه ديناميكي ، لذا يمكن تخزين أي عدد من أنواع البيانات | يمكن إضافة عدد ثابت فقط من العناصر. |
أداء | إنه يحط من الأداء منذ استخدام الملاكمة والتفريغ. | لديها أداء أفضل. |
قيمة فارغة | يمكن أن تقبل قيمة NULL | لا |
مبوبة | يستخدم فئة ثابتة | يستخدم نظام مساحة الاسم. مجموعة |
ما هو ArrayList في C #؟
يتم تهيئة قوائم الصفيف باستخدام واجهة القائمة. تعتبر واحدة من أكثر البيانات مرونة في C #. المجموعة في لغات البرمجة هي فئة خاصة تخزن البيانات وتسمح للمبرمجين باسترجاعها.
- لا يحتوي ArrayList على أي حجم ثابت ، وحجم الذاكرة ديناميكي ، ويمكنك تغييره عندما تريد. إذا قام المبرمج بتهيئة ذاكرة لـ 4 عناصر ، فيمكن للمرء إضافة عنصر آخر.
- في قائمة الصفيف ، يتم زيادة الحجم بقيمة 2 ^ n. أيضًا ، ArrayList غير عام ، مما يسمح لنا بتخزين عناصر من أنواع بيانات مختلفة.
- بعض الوظائف الأساسية لـ ArrayList هي RemoveAt () و Remove () و Insert () و Add ().
- أيضًا ، يمكنه تخزين العنصر الفارغ.
مثال
باستخدام النظام. مجموعة؛
ArrayList a = new ArrayList () ،
أ.إضافة (1 ، "مرحبًا") ؛
أ.إضافة (4) ؛
أ.إضافة (8.23) ؛
a.add (خالية) ؛
تُستخدم بعض الوظائف للتفاعل مع البيانات المخزنة في ArrayList.
- Add (): يستخدم لإضافة عناصر في ArrayList.
- إدراج (): يستخدم لإدراج عناصر في فهرس معين في ArrayList.
- إزالة (): يستخدم لإزالة عنصر واحد ،
- RemoveAt (): يزيل عناصر معينة في ArrayList.
ما هو Array in C #؟
المصفوفة هي نوع بيانات يستطيع فيه المبرمج تخزين بيانات من نفس النوع وطول ثابت. لا يمكن تغيير قيمة الطول والبيانات أثناء وقت التشغيل. يتم إعطاء قيم فهرس لجميع عناصر الصفيف ، ويكون فهرس الصفيف صفرًا.
ومن ثم فإن القيمة الافتراضية هي صفر من الفهرس للعنصر الأول في المصفوفة. ال بناء الجملة للتصريح وتعريف المصفوفة في C # على النحو التالي. نظرًا لأن المصفوفة هي نوع بيانات مرجعي ، يتم تخصيص ذاكرتها في ذاكرة الكومة.
Int [] array = new int [] {10,20,30,40،XNUMX،XNUMX،XNUMX} ؛
10 20 30 40 بيانات
0 1 2 3 مؤشرات
بعض النقاط المهمة حول المصفوفات.
- المصفوفة ذات حجم ثابت ، وتتم كتابتها بقوة. هذه يعني أنه ، على سبيل المثال ، إذا قمت بإنشاء مصفوفة من القيم الصحيحة ، فلا يمكنك تخزين السلاسل النصية.
- نظرًا لعدم وجود تفريغ أو تعبئة للبيانات ، فإنها تعمل بشكل أفضل.
الاختلافات الرئيسية بين ArrayList و Array في C #
- حجم الصفيف ثابت ويحتوي على المجموعة المتسلسلة لجميع عناصر النوع نفسه. حجم قائمة الصفيف غير ثابت ويزيد بمقدار 2 ^ n.
- يتم تهيئة بُعد المصفوفة وطول كل بُعد عند إنشاء المصفوفة. من المستحيل تغيير قيمة طول المصفوفة أثناء وقت التشغيل. بالنسبة إلى ArrayList ، يمكن تغيير قيمة طول قائمة الصفيف ديناميكيًا.
- فهرس العنصر الأول في المصفوفة هو 0 ، ومؤشر العنصر الأخير هو n-1 ، حيث n هو طول حجم المصفوفة.
- يحتوي ArrayList على عناصر من أنواع بيانات مختلفة ، بينما تحتوي المصفوفة على بيانات من أنواع بيانات متشابهة. على سبيل المثال ، إذا كانت Array من نوع عدد صحيح ، فيمكن تخزين الأعداد الصحيحة فقط في المصفوفة.
- المصفوفة هي نوع بيانات مكتوب بقوة ، وكفاءتها أفضل من ArrayList. نظرًا لأنه في Arraylist ، هناك حاجة إلى unboxing والملاكمة ، فهي أقل كفاءة.
- يزداد حجم ArrayList تلقائيًا ؛ ومن ثم تحتاج إلى إعطاء أي حجم.
- فئة ArrayList (System.Collections) | مستندات Microsoft
- https://www.itu.dk/research/c5/latest/ITU-TR-2006-76.pdf
آخر تحديث: 11 يونيو 2023
سانديب بهانداري حاصل على بكالوريوس هندسة في الحاسبات من جامعة ثابار (2006). لديه 20 عامًا من الخبرة في مجال التكنولوجيا. لديه اهتمام كبير في المجالات التقنية المختلفة ، بما في ذلك أنظمة قواعد البيانات وشبكات الكمبيوتر والبرمجة. يمكنك قراءة المزيد عنه على موقعه صفحة بيو.
على الرغم من أن المقارنة ثاقبة، إلا أنني أشعر أن المقالة لا تتعمق في المفاضلات المحتملة عند الاختيار بين ArrayList وArray.
من المهم دائمًا مراعاة إيجابيات وسلبيات أنواع البيانات المختلفة، وسيكون ذلك بمثابة إضافة قيمة لهذه المقالة.
أوافق على أن التعمق في استكشاف المفاضلات بين الاثنين من شأنه أن يضيف المزيد من العمق إلى المقالة.
مقالة إعلامية! لقد واجهت دائمًا مشكلة في فهم الاختلافات بين المصفوفة وArrayList، لكن هذا أوضح الأمر تمامًا.
إنه لأمر رائع أن يتم شرح المفاهيم المعقدة بطريقة مباشرة. لقد وجدت هذه المقالة مفيدة جدًا أيضًا.
على الرغم من أنه من المهم فهم الاختلافات، أعتقد أيضًا أنه من المهم معرفة متى يتم استخدام ArrayList على المصفوفات والعكس صحيح. السياق هو المفتاح.
صحيح جدا. يعد فهم السياق أمرًا ضروريًا في البرمجة، وهذا المقال يؤكد ذلك.
وأنا أقدر أن المقالة لا تسلط الضوء على الاختلافات فحسب، بل تقدم أيضًا أمثلة عملية. أنه يعزز فهم المفاهيم.
بالضبط، الأمثلة العملية هي التي تجعل النظرية تنبض بالحياة. إنه نهج عظيم في هذه المقالة.
أوافق على أن الأمثلة تسهل فهم الفروق الدقيقة في ArrayList وArray.
أجد أن استخدام الأمثلة العملية في المقالة زائدة عن الحاجة بعض الشيء. المفاهيم واضحة بالفعل بدونها.
أنا لا أتفق مع هذا بكل احترام. على الرغم من أن المفاهيم قد تكون واضحة لك، إلا أن الأمثلة يمكن أن تفيد حقًا أولئك الذين يحتاجون إلى مساعدة إضافية في الفهم.
شرح رائع للاختلافات بين ArrayList وArray في C#! وأنا أقدر المقارنة الواضحة بين أدائها ومرونتها.
لا يمكن اقبل المزيد. تساعد الأمثلة التفصيلية حقًا في ترسيخ المفهوم.
يُسهل جدول المقارنة فهم الفروق بين ArrayList وArray. هذا التنسيق فعال للغاية!
لا يمكن اقبل المزيد. إنه يساعد حقًا في وضع البيانات بوضوح.
من المؤكد أن الحصول على تمثيل مرئي للاختلافات أمر مفيد للغاية.
الوظائف التفصيلية لكل من ArrayList وArray المتوفرة في هذه المقالة مفيدة بشكل لا يصدق. إنه مثل وجود دليل مرجعي سريع.
بالتأكيد، فإن وضع جميع الوظائف الضرورية بشكل واضح يوفر الوقت عند العمل مع ArrayList وArray.
تعتبر المقارنة الشاملة بين ArrayList وArray في C# ممتازة، ولكني أرغب في رؤية المزيد من حالات الاستخدام العملية لكل منهما.
متفق عليه، إن وجود أمثلة من العالم الحقيقي سيجعل من السهل فهم أفضل التطبيقات لـ ArrayList وArray.
أعتقد أن سيناريوهات العالم الحقيقي ستثري بالتأكيد محتوى هذه المقالة وتجعلها أكثر فائدة.
لا أتفق مع تفضيل المصفوفات على ArrayList بسبب الأداء الأفضل. يمكن أن تكون مرونة ArrayList لا تقدر بثمن في مواقف معينة.
أعتقد أن كلاً من المصفوفات وArrayList لديهما نقاط قوة ونقاط ضعف خاصة بهما، ومن المهم مراعاة المتطلبات المحددة لكل مهمة برمجة.
أفهم وجهة نظرك، ولكن هناك أيضًا حالات يكون فيها الحجم الثابت للمصفوفات أكثر ملاءمة. الأمر كله يتعلق باختيار الأداة المناسبة للوظيفة.