كيفية تصميم هذا الأسلوب إذا فإنها ترجع المصفوفات متعددة الأبعاد؟

StackOverflow https://stackoverflow.com/questions/434996

سؤال

وأنا الآن تصميم مكتبة SNMP. والسبب في المشكلة وظيفة خاصة مثل هذا،

و*** GetTable (سلسلة معرف)

وقد ترجع هذه الوظيفة متغير [،] وهو اثنين صفيف الأبعاد أحيانا، ولكن أيضا متغير [،،] والمصفوفات مع أكثر من الأبعاد. لذلك أعتقد أنه ليس من المعقول أن تعود مجموعة ثابتة مثل متغير [،]، متغير [،،] وهلم جرا.

ولكن ما يجب أن تعود هذه الطريقة بعد ذلك؟ كيفية تصميم ذلك؟ ماذا عن العرف VariableCollection؟

وأي اقتراح هو موضع ترحيب.

هل كانت مفيدة؟

المحلول

وكقاعدة عامة، تعود النوع المخصص يسمح لقدر أكبر من المرونة في تمثيل البيانات الخاصة بك. فما استقاموا لكم فاستقيموا أيضا يفضلون توفير الأساليب الخاصة بك للوصول إلى البيانات في هذه المجموعة، بدلا من تعريض المصفوفات متعددة الأبعاد.

وأنا عموما تجنب استخدام المصفوفات متعددة الأبعاد مستطيلة نفسي. في كثير من الحالات، والمصفوفات متعددة الأبعاد خشنة هي أكثر ملاءمة كما يمكنك رفع شريحة في العزلة.

نصائح أخرى

حسنا، هل يمكن أن تعود Array والسماح للطالب مراجعة .Rank؟

وبطبيعة الحال، تعود مجموعة قد لا يكون الخيار الأفضل في المقام الأول (اعتمادا على السيناريو): <وأ href = "http://blogs.msdn.com/ericlippert/archive/2008/09/22 /arrays-considered-somewhat-harmful.aspx "يختلط =" نوفولو noreferrer "> صفائف تعتبر ضارة إلى حد ما

وإرجاع مجموعة متعددة الأبعاد هو choiche محفوفة بالمخاطر. أود أن أقترح على تنفيذ مجموعة مخصصة جنبا إلى جنب مع الأساليب للحصول على المعلومات حول هذا الموضوع هو الحالة الداخلية وطرق للحصول على البيانات منه. انها أكثر مرونة وأقل عرضة للأخطاء عند استدعاء العميل طريقتك.

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

وآمل أن يساعد هذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top