PDA

View Full Version : درباره استفاده ایندکس درسی شارپ



cs_mz88
پنج شنبه 26 مرداد 1391, 15:14 عصر
سلام دوستان اگه ممکنه یه توضیح کامل برای ایندکس گذاری کلاسو برام توضیح بدید.کی ازش استفاده میکنیم.
ومزیتش چیه؟

tooraj_azizi_1035
پنج شنبه 26 مرداد 1391, 18:14 عصر
یک Indexer این امکان رو میده که شما بتونی به نمونه های مختلف ایجاد شده از روی یک کلاس با اندیس دست پیدا کنی دقیقاً مثل آرایه.
Indexer ها مانند Property ها هستند با این تفاوت که accessor یا دستیاب اونها پارامتر می گیره. در مثال زیر یک کلاس جنریک تعریف شده و متدهای get و set برای اختصاص و خواندن داده ها رو هم فراهم کرده. کلاس Program برای ذخیره رشته ها نمونه ای از این کلاس رو ایجاد می کنه:

class SampleCollection<T>
{
// Declare an array to store the data elements.
private T[] arr = new T[100];

// Define the indexer, which will allow client code
// to use [] notation on the class instance itself.
// (See line 2 of code in Main below.)
public T this[int i]
{
get
{
// This indexer is very simple, and just returns or sets
// the corresponding element from the internal array.
return arr[i];
}
set
{
arr[i] = value;
}
}
}

// This class shows how client code uses the indexer.
class Program
{
static void Main(string[] args)
{
// Declare an instance of the SampleCollection type.
SampleCollection<string> stringCollection = new SampleCollection<string>();

// Use [] notation on the type.
stringCollection[0] = "Hello, World";
System.Console.WriteLine(stringCollection[0]);
}
}




کلمه کلیدی this برای تعریف Indexer به کار میره.
value نماینده مقداری است که توسط set مقدار دهی شده.
Indexer ها الزاماً محدود به نوع int نمیشوند.
می توانند overload شوند.

بیشتر:http://msdn.microsoft.com/en-us/library/2549tw02.aspx

cs_mz88
پنج شنبه 26 مرداد 1391, 19:20 عصر
میشه با لفظ روان تر بگید
یه ذره سنگین بود.
نفهمیدم کی باید ازش استفاده کرد

cs_mz88
جمعه 27 مرداد 1391, 12:57 عصر
دوستان کسی نیست کمک کنه بهم؟؟؟؟

cs_mz88
یک شنبه 29 مرداد 1391, 12:25 عصر
کسی نیست واقعا