Latest web development tutorials

C # مفهرس (مفهرس)

مفهرس (مفهرس) يسمح للجسم مثل مجموعة يمكن فهرستها.عند تعريف مفهرس للفئة، وأعمال الطبقة يكون مثلمجموعة الظاهرية (مجموعة الظاهرية) نفسه.يمكنك استخدام مشغل وصول مجموعة ([]) للوصول إلى مثيل لفئة.

قواعد

وفهرسة الأبعاد بناء الجملة التالي:

عنصر من نوع هذا [مؤشر كثافة العمليات] 
{
   // احصل على استرجاع الحصول على 
   {
      // إرجاع قيمة الفهرس المحدد}

   // نحدد استرجاع مجموعة 
   {
      // تعيين قيمة الفهرس المحدد}
}

مفهرس (مفهرس) الاستخدامات

يعمل بيان بطريقة مماثلة لخاصية مفهرس (الملكية). مثل الملكية (الملكية)، والتي يمكنك استخدامها لتحديدمجموعة المؤشر والحصول علىاسترجاع. ومع ذلك، يتم إرجاع الممتلكات أو تعيين عضو بيانات محددة، وعوائد مؤشر أو يحدد مثيل الكائن إلى قيمة محددة. وبعبارة أخرى، فإن البيانات المثال تنقسم إلى أجزاء أصغر، ولكل جزء من مؤشر، والحصول على أو تعيين كل قسم.

تعريف سمة (الملكية) ويشمل تقديم أسماء الممتلكات. عندما لم يتم تعريف المؤشر مع الاسم، ولكن معهذا المفتاح، الذي يشير إلى مثيل كائن.يوضح المثال التالي هذا المفهوم:

باستخدام نظام.
مساحة IndexerApplication
{
   IndexedNames الطبقة
   {
      سلسلة خاصة [] قائمة بأسماء = سلسلة جديدة [حجم].
      ثابت حجم كثافة الجمهور = 10؛
      IndexedNames الجمهور ()
      {
         ل(كثافة العمليات ط = 0؛ ط <حجم، وأنا ++)
         قائمة بأسماء [ط] = "NA".
      }
      سلسلة العامة هذا [مؤشر كثافة العمليات]
      {
         الحصول على
         {
            تمة السلسلة؛

            إذا (المؤشر> = 0 && مؤشر <= الحجم 1)
            {
               تمة = قائمة بأسماء [المؤشر].
            }
            آخر
            {
               تمة = ""؛
            }

            عودة (تمة)؛
         }
         مجموعة
         {
            إذا (المؤشر> = 0 && مؤشر <= الحجم 1)
            {
               قائمة بأسماء [المؤشر] = القيمة؛
            }
         }
      }

      ساكنة باطلة الرئيسية (سلسلة [] وسائط)
      {
         أسماء IndexedNames = IndexedNames الجديدة ()؛
         أسماء [0] = "زارا".
         أسماء [1] = "ريز".
         أسماء [2] = "نهى".
         أسماء [3] = "آصف".
         أسماء [4] = "دافندر".
         أسماء [5] = "سونيل".
         أسماء [6] = "Rubic".
         ل(كثافة العمليات ط = 0؛ ط <IndexedNames.size، وأنا ++)
         {
            Console.WriteLine (أسماء [أنا])؛
         }
         Console.ReadKey ()؛
      }
   }
}

عندما يتم ترجمة التعليمات البرمجية أعلاه وتنفيذها، وتنتج النتائج التالية:

زارا
ريز
نهى
آصف
دافندر
سونيل
Rubic
NANANA

مثقلة مفهرس (مفهرس)

قد تكون فوق طاقتها مفهرس (مفهرس). عندما يمكن أيضا أن تقدم إعلان مفهرس مع عدد وافر من المعلمات، ولكل معلمة يمكن أن يكون من أنواع مختلفة. ليست هناك حاجة للمؤشر يجب أن يكون صحيحا. C # يسمح مصنفين قد تكون أنواع أخرى، مثل نوع السلسلة.

يوضح المثال التالي مفهرس مثقلة:

باستخدام نظام.
مساحة IndexerApplication
{
   IndexedNames الطبقة
   {
      سلسلة خاصة [] قائمة بأسماء = سلسلة جديدة [حجم].
      ثابت حجم كثافة الجمهور = 10؛
      IndexedNames الجمهور ()
      {
         ل(كثافة العمليات ط = 0؛ ط <حجم، وأنا ++)
         {
          قائمة بأسماء [ط] = "NA".
         }
      }
      سلسلة العامة هذا [مؤشر كثافة العمليات]
      {
         الحصول على
         {
            تمة السلسلة؛

            إذا (المؤشر> = 0 && مؤشر <= الحجم 1)
            {
               تمة = قائمة بأسماء [المؤشر].
            }
            آخر
            {
               تمة = ""؛
            }

            عودة (تمة)؛
         }
         مجموعة
         {
            إذا (المؤشر> = 0 && مؤشر <= الحجم 1)
            {
               قائمة بأسماء [المؤشر] = القيمة؛
            }
         }
      }
      الباحث العام هذا [اسم سلسلة]
      {
         الحصول على
         {
            مؤشر كثافة العمليات = 0؛
            بينما (مؤشر <حجم)
            {
               إذا (قائمة بأسماء [المؤشر] == الاسم)
               {
                عودة مؤشر.
               }
               مؤشر ++؛
            }
            عودة مؤشر.
         }

      }

      ساكنة باطلة الرئيسية (سلسلة [] وسائط)
      {
         أسماء IndexedNames = IndexedNames الجديدة ()؛
         أسماء [0] = "زارا".
         أسماء [1] = "ريز".
         أسماء [2] = "نهى".
         أسماء [3] = "آصف".
         أسماء [4] = "دافندر".
         أسماء [5] = "سونيل".
         أسماء [6] = "Rubic".
         // استخدم المعلمة الأولى مع مفهرس الباحث عن (كثافة العمليات ط = 0؛ ط <IndexedNames.size، وأنا ++)
         {
            Console.WriteLine (أسماء [أنا])؛
         }
         // استخدم مفهرس الثاني مع Console.WriteLine معلمة سلسلة (أسماء [ "نهى"])؛
         Console.ReadKey ()؛
      }
   }
}

عندما يتم ترجمة التعليمات البرمجية أعلاه وتنفيذها، وتنتج النتائج التالية:

زارا
ريز
نهى
آصف
دافندر
سونيل
Rubic
NANANA
2