سؤال

أنا جديد على بوو ، وأحاول معرفة كيفية إعلان نوع التجزئة. عندما أفعل:

   myHash = {}
   myHash[key] = value
   (later)
   myHash[key].method()

يشكو المترجم من أن "الطريقة ليست عضوًا في كائن". أجمع أنه لا يعرف نوع القيمة في التجزئة.

هل هناك أي طريقة يمكنني من خلالها إعلان المترجم ما هو نوع المفاتيح والقيم للتجزئة بحيث لا تشكو؟

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

المحلول

يشبه علامة التجزئة المبنية في BOO إلى حد كبير. NET Hashtable - مفتاح وقيمة كل إدخال هما من النوع "كائن".

أفضل رهان لك هو استخدام قاموس عام:

import System.Collections.Generic

myHash = Dictionary[of string, Foo]()

سيؤدي هذا المثال إلى إنشاء قاموس حيث يكون نوع المفتاح عبارة عن سلسلة ، وستكون القيمة من نوع Foo

نصائح أخرى

خيار آخر يترك الكود الخاص بك دون تغيير هو تمكين كتابة البط مع -ducky تحول. أنا شخصياً أستخدم المجموعات من System.Collections.Generic بدلاً من القائمة المدمجة وأنواع القاموس ، لأن الأداء أفضل بكثير.

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