16-07-16, 04:34 PM
هناك نوع من التحايل الذي من الممكن إستخدامه لكي تجعل المصفوفة مرجعية بشكل ما و هو أن تقوم بأخذ Shallow Copy من المصفوفة الأصلية وذلك بتحديد Start index و العدد المطلوب Count نسخه من المصفوفة الأصلية والفكرة تعتمد علي أن تحدد Range معين من المصفوفة الأصلية و تقوم بإستنساخه الي مصفوفة جديدة
وأعتقد ان الحل الأسهل لتنفيذ ذلك يكمن في استخدام List(Of T).GetRange
اما الحل الأصعب لك هو ان تبني مصفوفة جديدة تماما عن طريق عمل implementation وذلك باستخدام IEnumerable(Of Integer) ومن ثم و في constructor الخاص بالكلاس الجديد تمرر StartIndex وهو الذي يحدد بداية مكان النسخ و ايضا تمرر له العدد المطلوب نسخه وهو ما يمثله Count
طبعا انت هنا تحتاج لكتابة بعض الدوال الإضافية لكي يعمل الكلاس بكفاءة لكن كما قلت هذا هو الحل الأصعب و انت تحتاج الي دراية كاملة بالمصفوفات لكي تكتب مثل هذا الكلاس
وأعتقد ان الحل الأسهل لتنفيذ ذلك يكمن في استخدام List(Of T).GetRange
اما الحل الأصعب لك هو ان تبني مصفوفة جديدة تماما عن طريق عمل implementation وذلك باستخدام IEnumerable(Of Integer) ومن ثم و في constructor الخاص بالكلاس الجديد تمرر StartIndex وهو الذي يحدد بداية مكان النسخ و ايضا تمرر له العدد المطلوب نسخه وهو ما يمثله Count
طبعا انت هنا تحتاج لكتابة بعض الدوال الإضافية لكي يعمل الكلاس بكفاءة لكن كما قلت هذا هو الحل الأصعب و انت تحتاج الي دراية كاملة بالمصفوفات لكي تكتب مثل هذا الكلاس

