لماذا String من نوع Reference

السلام عليكم ورحمة الله وبركاتة

هل المتغير String نوعه Reference في جميع اللغات ام فقط في منصة الدوت نت

ولماذا صار Reference هل هي غلطه

وهل هو عبارة عن مصفوفة من char

وشكرا جزيلآ لكم


التعليق السابق

لم افهم كيف ممكن تكون كبيرة بالنسبة للـ Stack

اتمنى ان تشرح لي ايضا كيف يكون شكل القيم في الذاكرة لم افهمها "نعم في الذاكرة هي عبارة عن مصفوفة بايتات ككل شئ آخر."

وشكرا جزيلآ لك

إفتراضيا في الدوت نت الـ stack حجمه 1mb يمكن أن تعدله في برنامج بتغيير الـ PE Header و يمكن أن تغيره فيـ Thread

بتمرير الحجم في المشيّد (constuctor) الخاص بها. لكن 1mb كافية و لا يجدر بك تغييرها إلا في حال أنك تعرف بالضبط ما تفعل.

الـ string يمكن أن تكون أكثر بكثير من 1mb و لهذا مكانها المناسب ليس على الـ stack.

و هذا كيف تبدو القيم في الذاكرة نظريا:

شكرآ جزيلآ لك الله يوفقك

هل هذا الكود

  Dim SString(100) As Char
    SString = "Ahmed".ToCharArray

سيخزن في Stack