كيفية وأين تستخدم العدادات مع Golang عبر C++
المُععد هو كائن يوفر القدرة على التجول في حاوية أو مجموعة. يمكن استخدام العدادات لقراءة البيانات في المجموعة، لكنها لا يمكن استخدامها لتعديل المجموعة الأساسية، في حين أن IEnumerable هو واجهة تعرف طريقة واحدة GetEnumerator التي تُرجع واجهة IEnumerator، مما يسمح بالوصول للقراءة فقط إلى مجموعة.
توفر واجهات برمجة تطبيقات Aspose.Cells مجموعة من المعدلات الإحصائية، ومع ذلك، يناقش هذا المقال بشكل رئيسي الثلاثة أنواع المذكورة أدناه.
- معدل الخلايا
- معدل الصفوف
- معدل الأعمدة
كيفية استخدام المعدلات الإحصائية
معدل الخلايا
هناك طرق مختلفة للوصول إلى معدل الخلايا، ويمكن للشخص استخدام أيًا من هذه الطرق استنادًا إلى متطلبات التطبيق. هنا الطرق التي تُرجع معدل الخلايا.
تعود الطرق المذكورة أعلاه جميعًا بمُحدِّد العناصر الذي يسمح بجَولة جمعية الخلايا التي تم تهيئتها.
يُظهر المثال البرمجي التالي تنفيذ واجهة IEnumerator لمجموعة الخلايا.
مُحدِّد الصفوف
يمكن الوصول إلى عداد الصفوف أثناء استخدام طريقة RowCollection.GetEnumerator. يُظهر المثال التالي تنفيذ واجهة IEnumerator لـ RowCollection.
الحصول على الأعمدة
يمكن الوصول إلى الأعمدة أثناء استخدام طريقة ColumnCollection.Get. يُظهر المثال التالي تنفيذ طريقة Get لـ ColumnCollection.
أين يجب استخدام المُحدِّدات
لنناقش فوائد استخدام المُحدِّدات، دعونا نأخذ مثالًا واقعيًا.
سيناريو
متطلب التطبيق هو التجول عبر جميع الخلايا في Worksheet معين لقراءة قيمها. قد توجد عدة طرق لتحقيق هذا الهدف. تم توضيح بعض منها أدناه.
استخدام نطاق العرض
استخدام MaxDataRow و MaxDataColumn
كما يمكنك أن تلاحظ أن كلتا الطريقتين المذكورتين تستخدمان تقريبًا نفس المنطق، وهو: الدوران حول جميع الخلايا في المجموعة لقراءة قيم الخلايا. قد يكون هذا مشكلة لعدة أسباب كما سيتم مناقشتها أدناه.
- تتطلب واجهات برمجة التطبيقات مثل GetMaxRow()، GetMaxDataRow()، GetMaxColumn()، GetMaxDataColumn() و GetMaxDisplayRange() وقتًا إضافيًا لجمع الإحصائيات المقابلة. إذا كانت مصفوفة البيانات (صفوف × أعمدة) كبيرة، فإن استخدام هذه الواجهات يمكن أن يفرض عقبة على الأداء.
- في معظم الحالات، لا تتم إنشاء جميع الخلايا في النطاق المعطى. في مثل هذه الحالات، فحص كل خلية في البيانات ليس فعَّالًا كمقارنة بفحص الخلايا المهيئة فقط.
- الوصول إلى خلية في حلقة مثل Cells row، column سيؤدي إلى إنشاء جميع كائنات الخلايا في النطاق، مما قد يؤدي في النهاية إلى حدوث استثناء نفاد الذاكرة.
الاستنتاج
بناءً على الحقائق المذكورة أعلاه، فإن السيناريوهات الممكنة التالية هي التي يجب استخدام المُحدِّدات فيها.
- الوصول القراءة فقط لمجموعة الخلايا مطلوب، أي؛ المتطلب هو تفقّد الخلايا فقط.
- يتعين عبور عدد كبير من الخلايا.
- يجب عبور الخلايا/الصفوف/الأعمدة المهيأة فقط.